2012-02-02 69 views
3

回我有一个简单的页面,按照以下:ASP.net后面的代码,并从C#

Default.aspx的

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<html> 
<body> 

<form method="POST" action="Default.aspx"> 

Enter Number: <input type="text" name="cNum" value="7707744436276244" /><br /> 
<input type="submit" value="Submit" /> 
</form> 


</body> 
</html> 

和后面的代码Default.aspx.cs

using System; 
using System.Collections.Generic; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class _Default : System.Web.UI.Page 
{ 
    public string ServerSideVariable; 


    protected void Page_Load(object sender, EventArgs e) 
    { 
     string n = String.Format("{0}", Request.Form['cNum']); ERROR Here<--- too many character in character literall.... 

     string pval = "Passed value"; 
     ServerSideVariable = pval; 

    } 
} 

为什么发生错误?

另外我打算在后面的代码中实现与数据库连接并将响应返回给ASP.net,任何人都知道这是如何完成的?

+0

任何人都知道如何将C#(后面的代码)的值从ASP.net(或向上病房)传递回来,只是简单地在asp.net中引用var?还是顶部的XML文件需要将其拉出? – codejunkie 2012-02-02 18:50:54

+0

ADO。净没有做oracle PL/SQL – codejunkie 2012-02-02 20:32:25

回答

4

在C#中,'是为字符字面量保留的。 "保留给字符串文字。

char char1 = 'Z';  // Character literal 
string string1 = "ZZZ"; // String literal 

C#参考:

尝试以下操作:

using System; 
using System.Collections.Generic; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class _Default : System.Web.UI.Page 
{ 
    public string ServerSideVariable; 


    protected void Page_Load(object sender, EventArgs e) 
    { 
     string n = String.Format("{0}", Request.Form["cNum"]); //ERROR Here<--- too many character in character literall.... 

     string pval = "Passed value"; 
     ServerSideVariable = pval; 

    } 
} 

至于你第二个问题,请阅读http://www.oracle.com/technetwork/issue-archive/2011/11-sep/o51odt-453447.html

+1

+1:解释为什么你必须使用双引号而不是单引号。 – pseudocoder 2012-02-02 19:31:30

4

' '标记内不能有多个字符。您的代码应阅读:

string n = String.Format("{0}", Request.Form["cNum"]); // Double quotes here 

关于你的第二个问题,这是涉及大量的数据库主题/可能性非常广泛的问题。您应该缩小问题的范围,以便就此提出具体的问题。

2

变化

string n = String.Format("{0}", Request.Form['cNum']); 

string n = String.Format("{0}", Request.Form["cNum"]); 

你需要双引号(" ")来表示一个字符串。

3

使用双引号。单引号是一个字符。

Request.Form["cNum"] 
0

我认为发生错误是因为Request.From有很多参数。

获得那个职位的参数更好的方法是:

NameValueCollection nameValueCollection = Request.Form; 

string cnum = nameValueCollection["cNum"]; 

虽然我没有测试过,但我认为这会做的好。

相关问题