HTML:
<tr>
<td>
<button type="button" id="serverbtn" name="serverbtn" runat="server"
OnClick="serverbtn_Click">Submit
</button>
</td>
<td colspan="2">
<input id="servertxt" name="servertxt" runat="server" />
</td>
</tr>
代码隐藏:
namespace WebApp
{
public class ServerSide
{
public void serverbtn_Click(object sender, EventArgs e)
{
String txt = servertxt.Value;
}
}
}
我是 asp.net 和一般网站建设的新手。我想将输入到 html 输入中的文本传递给后面的 C# 代码进行处理。根据我所读到的内容,添加 runat="server" 允许这些控件对 C# 可见。但是,servertxt 控件表示它在当前上下文中不存在。此项目使用 Visual Studio 中的空网站,而不是 Web 窗体/Web 应用程序。我手动将 html 和 C# 文件添加到项目中。我在这里错过了什么?
<input>
是一个 HTML 标记,用于客户端上的表单数据存储。但它不是服务器控件。此外,HTML 规范中没有<input>
元素的runat属性。应改用<asp:TextBox>
服务器端控件。此外,如果要在服务器端处理按钮单击事件,则必须使用<asp:Button>
控件而不是<button>
元素。