在提交表单时无法访问ASP.NET中的表单变量

时间:2011-05-03 06:10:51

标签: c# .net asp.net

我无法访问请求表单变量。下面给出了我的aspx代码的片段。

<form id="mainmasterform" runat="server">
    <table align="center">
    <tr>
        <td><label for="ownfname">First Name</label></td>
        <td><asp:TextBox id="ownfname" runat="server" TextMode="SingleLine"/></td>
    </tr>
    <tr>
        <td><label for="ownlname">Last Name</label></td>
        <td><asp:TextBox id="ownlname" runat="server" TextMode="SingleLine"/></td>
    </tr>
    <tr>
        <td colspan="2">
            <asp:Button ID="submitowner" runat="server" Text="Submit" onclick="modifyDetails" />
        </td>
    </tr>
</form>

现在onclick of button调用服务器方法“modifyDetails”,它尝试使用Request.Form对象访问表单变量。

protected void modifyDetails(object sender, EventArgs e) {
    string fname = Request.Form["ownfname"];
    string lname = Request.Form["ownlname"];
}

它不起作用,字符串fname和lname始终为null。 请帮忙,因为我无法理解这里的错误。

3 个答案:

答案 0 :(得分:2)

为什么不执行以下操作?

protected void modifyDetails(object sender, EventArgs e) {
    string fname = ownfname.Text;
    string lname = ownlname.Text;
}

这就是ASP.NET的工作方式。

答案 1 :(得分:1)

要么不使用<asp:控件(而是使用常规HTML控件),要么将其ClientIDMode属性设置为static。 Documentation here

答案 2 :(得分:0)

试试这个

string fname = ownfname.Text
string lname = ownlname.Text