Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么在使用runat=";时无法从代码隐藏中引用html控件;服务器";?_C#_Html_Asp.net_Webforms - Fatal编程技术网

C# 为什么在使用runat=";时无法从代码隐藏中引用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属性。您应该改用服务器端控件。此外,

HTML:


我不熟悉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;
        }
    }
}