C#/ aspx.net进程发布值表单

时间:2012-11-08 10:30:58

标签: c# asp.net

我对aspx开发很新,而且我在aspx代码和aspx.cs的连接上遇到了很多困难,正是我遇到了问题:

DisplayChars.aspx:

<form id="form1" runat="server">
<div>   
    <div>Champion name: </div> <div><input id="Champ_name" type="text" /></div>
    <div>Champion Icon URL: </div> <div><input id="Champ_icon" type="text" /></div>
    <div>Champion Subtext: </div> <div><input id="Champ_subtext" type="text" /></div>
    <div> Free to play :</div><div><input id="Champ_freetoplay" type="checkbox" />
</div>
<div>Positions:</div>
<div>
        <input id="Top" type="checkbox" /> Top
        <input id="Mid" type="checkbox" /> Mid
        <input id="Jungle" type="checkbox" /> Jungle
        <input id="Carry" type="checkbox" /> Carry
        <input id="Support" type="checkbox" /> Support
</div>
</div>
    <input id="Champ_Submit" type="submit" value="submit" />

DisplayChars.aspx.cs

 if (IsPostBack)    
        {
            //NameValueCollection nvc = Request.Form.GetValues
            //Champion t1 = new Champion(Request.Form.Get("Champ_Name"), Int32.Parse(Request.Form.Get("Champ_freetoplay")), Request.Form.Get("Champ_subtext"), Request.Form.Get("Champ_description"), "10110");
            //t1.persistChampion();
            string temp = Request["Champ_name"];

所以我在努力获取Form-values的方法。 我已尝试Request.Form.GetValuesRequest.Form.Get甚至Request["Form_id_Name"]

问题是,如果这种方法甚至是正确的,因为我在面向对象编程方面有经验,但在HTML aspx伪服务器代码和它背后的cs文件的组合中没有。

2 个答案:

答案 0 :(得分:2)

如果您向HTML标记添加runat="server",并且可以从代码隐藏中访问其属性:

// DisplayChars.aspx:
<input id="Champ_name" type="text" runat="server" />
...

// DisplayChars.aspx.cs:
string champName = Champ_name.Value;

答案 1 :(得分:1)

虽然你可以做到

Request.Form["Champ_name"]

这不是asp.net的方式。您必须通过添加runat="server"使元素成为服务器控件,以便您可以从后面的代码中引用它。

<asp:Button ID="Champ_name" runat="server" OnClick="button_Click" Text="Hello World" />

然后在你的代码隐藏中可以添加一个方法来点击该按钮时触发:

protected void button_Click(object sender, EventArgs e) 
{
   // logic processing here
}

如果您需要找出按钮的文字是什么:

string text = Champ_name.Text;

基本上,ASP.NET通常不依赖Request.Form。您将控件设置为runat="server",以便您可以在回发时直接从代码隐藏中解决它们。