我的每个页面都有一个简单的页面:
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;
}
}
为什么会发生错误?
此外,我计划在代码后面实现与DB建立连接并将响应返回给ASP.net,任何人都知道这是如何完成的?
答案 0 :(得分:4)
' '
标记内不能有多个字符。您的代码应为:
string n = String.Format("{0}", Request.Form["cNum"]); // Double quotes here
关于你的第二个问题,这是一个非常广泛的问题,涉及很多数据库主题/可能性。你应该缩小你的问题范围,询问具体的问题。
答案 1 :(得分: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。
答案 2 :(得分:3)
使用双引号。单引号用于一个字符。
Request.Form["cNum"]
答案 3 :(得分:2)
更改
string n = String.Format("{0}", Request.Form['cNum']);
要
string n = String.Format("{0}", Request.Form["cNum"]);
您需要双引号(" "
)来表示字符串文字。
答案 4 :(得分:0)
我认为发生错误是因为Request.From有很多参数。
要获得Post参数,更好的方法是:
NameValueCollection nameValueCollection = Request.Form;
string cnum = nameValueCollection["cNum"];
虽然我没有测试过,但我认为这样做会很好。