2012-10-09 73 views
1

我總是得到這個錯誤:編譯器錯誤消息:CS0103:「txtUserName」這個名字在目前情況下傳遞文本框的值到ASP.NET類

mypage.aspx

<% @Page Language="C#" Inherits="myclass" Src="myclass.cs" %> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title>Login Form</title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
<table> 
<tr> 
<td> 
Username: 
</td> 
<td> 
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox> 

</td> 
</tr> 

<tr> 
<td> 
</td> 
<td> 
<asp:Button ID="btnSubmit" runat="server" Text="Submit" onclick="Writedata" /> 
</td> 
</tr> 
</table> 
</div> 
</form> 
</body> 
</html> 

MyClass的不存在.cs

using System; 
using System.Data; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.IO; 
using System.Net; 
using System.Text; 

public class myclass:Page 
{ 
    protected void WriteData(object sender, EventArgs e){ 

    string customer_id=txtUserName.Text; 



    string postData="customer_id="+customer_id; 

    byte[] data= Encoding.UTF8.GetBytes (postData); 

    // Prepare web request... 
    HttpWebRequest myRequest = 
     (HttpWebRequest)WebRequest.Create("http://myserverurl.com/mypage.php"); 
    myRequest.Method = "POST"; 
    myRequest.ContentType="application/x-www-form-urlencoded"; 
    myRequest.ContentLength = data.Length; 
    Stream newStream=myRequest.GetRequestStream(); 
    // Send the data. 
    newStream.Write(data,0,data.Length); 
    newStream.Close(); 
    } 
} 

這裏有什麼幫助嗎?

感謝,

+1

這是一個web應用或網站項目嗎?但是,page指令不包含'codebehind'。 '%@ Page Language =「cs」AutoEventWireup =「false」CodeBehind =「myclass.aspx.cs」Inherits =「Namespace.myclass」title =「myclass-title」%> –

+0

這是一個網站項目。 – alkhader

回答

1

試着改變你的類聲明爲 「公共部分MyClass類:System.Web.UI.Page」。我相信,部分關鍵字對編譯器來說至關重要,因爲它知道類定義的平衡是在它不知道的臨時/中間文件中創建的。

+0

它沒有工作^ _^ – alkhader

+0

將「codefile =」myclass.cs「添加到aspx文件中的Page指令中。 –

相關問題