2011-12-14 56 views
8

我有以下的html:如何檢索用於在ASP.NET WebForms中進行操作的HTML POST數據?

<html> 
    <body> 

     <form runat="server"> 
     Name: <input type="text" name="name" /> 
     <br /> 
     <input type="submit" name="submit" /> 
     </form> 

    </body> 
</html> 

如何取回回發到網絡服務器中的ASP.NET WebForms的操作在「名稱」文本框中的值?

(我知道內置控件,並與他們的可能性ASP.NET,但我正在尋找在不使用內置的ASP.NET控件的「乾淨」的解決方案)

回答

12

如果您不能或不想使用asp.net文本框,然後你可以檢索常規HTML文本框像這樣的名字:

string nameTextPosted = Request.Form["name"]; 

只要注意,在這種方式創建的文本框不會自動在頁面返回時堅持自己的價值觀像asp.net將文本框。

2

簡單的解決方案將它變成一個服務器端組件並通過其名稱訪問它。例如

<asp:TextBox Id="Name" runat="server"></asp:TextBox> 

... 

string name = Name.Text; 

除非您有其他原因不使用組件,否則您只會讓事情變得更加困難,因爲沒有理由。

+0

謝謝! 我知道內置的ASP.NET控件,但我正在尋找一種用「乾淨」HTML手動執行的方法。 – Birdman 2011-12-14 15:34:30

+0

@Alex它是乾淨的html。一旦它們被渲染,它們就是html文本框。 – 2011-12-14 15:35:12

0

你必須在每個控件中添加id和runat =「server」。像這樣:

<input type="text" name="name" id="name" runat="server" /> 

其更好地用asp:文本框是這樣的:

<asp:TextBox ID="name" runat="server"></asp:TextBox> 
1

ASP.net包含Html服務器控件,以便向後兼容像喜歡你喜歡的人。通過添加runat =「server」和id屬性來製作您的html標記服務器控件,並且您可以使用它們的id在服務器端代碼中訪問它們。

<form runat="server"> 
    Name: <input type="text" name="name" id="name" runat="server" /> 
    <br /> 
    <input type="submit" name="submit" id="name1" runat="server" /> 
    </form> 

現在在這之後,你可以控制自己的行爲:

name.Value="Hellow World !" 
相關問題