<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<form id="form1" runat="server">
<asp:TextBox ID="address" runat="server"/>
<div class="form1">
<label for="fname">
<span>name:</span>
<asp:TextBox ID="fname" runat="server"/>
</label>
<label for="lname">
<span>lname: </span>
<asp:TextBox ID="lname" name="lname" runat="server" />
</label>
.
.
.
</div>
protected void send2_Click(object sender, EventArgs e)
{
tbl_register tbl = new tbl_register();
tbl.firstname = fname.Text; // The name 'fname' does not exist in the current context
tbl.lastname = lname.Text; // The name 'lname'does not exist in the current context
tbl.address = address1.Text; //..
tbl.phone = phone.Text; //..
tbl.email = email3.Text; //..
db.tbl_registers.InsertOnSubmit(tbl);
db.SubmitChanges();
}
答案 0 :(得分:1)
编码的文本框是标签的子项。我不以那种方式编码我的标签。为了使用作为子控件的控件,您必须使用Control.FindControl,在本例中为fname.FindControl(&#34; fname&#34;)。我不会将控件命名为与其他控件相同。您也可以关闭标签标签,使其不包含这些控件,然后可以通过名称引用控件。
答案 1 :(得分:0)
行
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
表明这是一个使用MasterPage的网络表单。
在内容占位符内,您有一个在服务器上运行的表单声明:
<form id="form1" runat="server">
但是,在MasterPage.master
上,您已经有一个在包装内容占位符的服务器上运行的表单。
asp.net不允许2个嵌套表单在服务器上运行。