C# 为什么在使用runat=";时无法从代码隐藏中引用html控件;服务器";?
HTML:C# 为什么在使用runat=";时无法从代码隐藏中引用html控件;服务器";?,c#,html,asp.net,webforms,C#,Html,Asp.net,Webforms,HTML: 我不熟悉asp.net和一般的网站建设。我想将输入到html输入中的文本传递给C#代码进行处理。据我所知,添加runat=“server”允许这些控件对C#可见。但是,servertxt控件表示它在当前上下文中不存在。此项目使用Visual Studio中的空网站,而不是webform/webapp。我手动将html和C#文件添加到项目中。这里缺少什么?是一个HTML标记,用于在客户端存储表单的数据。但它不是服务器控件。此外,中的元素没有runat属性。您应该改用服务器端控件。此外,
我不熟悉asp.net和一般的网站建设。我想将输入到html输入中的文本传递给C#代码进行处理。据我所知,添加runat=“server”允许这些控件对C#可见。但是,servertxt控件表示它在当前上下文中不存在。此项目使用Visual Studio中的空网站,而不是webform/webapp。我手动将html和C#文件添加到项目中。这里缺少什么?是一个HTML标记,用于在客户端存储表单的数据。但它不是服务器控件。此外,中的
元素没有runat属性。您应该改用服务器端控件。此外,如果要处理服务器端的按钮单击事件,则必须使用控件而不是元素。需要查看更完整的.aspx页面示例和代码隐藏。这里的不是WebForms页面,WebPages/MVC与WebForms的工作方式不同(没有代码隐藏文件)。如果您还没有,应该开始阅读本文(假设WebForms就是您正在做的):听起来好像我选择了错误的项目类型。根据你的意思,我需要使用Webforms或MVC来获取html页面和C#类来进行通信?因为这是一个空的网站项目,所以我只有一个html页面和一个相互独立的C#class文件。如果我错了,请更正。WebForms是唯一具有代码隐藏文件的ASP.NET版本。它的目的是(基本上)作为web的Windows窗体。MVC框架位于ASP.NET之上,但不使用代码隐藏;页面(视图)独立于控制器(您的服务器代码所在的控制器),但通过(大部分)约定进行链接。解释差异和/或用法对于堆栈溢出来说太宽泛了-您可能希望开始并完成这些主题。
<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;
}
}
}