2012-02-02 100 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"]; 

雖然我沒有測試過,但我認爲這會做的好。

相關問題