C# 如何检索放置在代码隐藏文件的contentPlaceHolder中的HTML控件值?

C# 如何检索放置在代码隐藏文件的contentPlaceHolder中的HTML控件值?,c#,html,master-pages,contentplaceholder,C#,Html,Master Pages,Contentplaceholder,我设计了一个网站。在那个网站上,我使用母版页作为我的网页。在该网页中,我放置了HTML控件,这些控件位于内容位置。我想在代码隐藏文件中检索HTML控件的值。如何做到这一点 <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> <div> <span> <select id="Select1">

我设计了一个网站。在那个网站上,我使用母版页作为我的网页。在该网页中,我放置了HTML控件,这些控件位于内容位置。我想在代码隐藏文件中检索HTML控件的值。如何做到这一点

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <div>
   <span>
       <select id="Select1">
           <option value="1">Low</option>
            <option value="2">Medium</option>
             <option value="3">High</option>
              <option value="4">Not Assigned</option>
       </select></span>
       <span>
           <input id="Text1" type="text" /></span>
       <span>
           <asp:Button ID="Button1" runat="server" Text="Button" 
           onclick="Button1_Click" />
           </span>
   </div>
</asp:Content>

低的
中等的
高的
未分配
我想在aspx页面上的
按钮1的点击事件中检索HTML控件值,将它们标记为
runat=“server”
,并给它们一个ID,您应该可以在后面的代码中看到它们

****编辑**** 如果担心性能,您也可以通过web方法或单独回发使用ajax调用,只发送所需的数据


看看这篇文章。

正如TBohnen.jnr所说,您可以将它们标记为runat=“server”


如果您不想这样做,那么您可以使用Request.Form[“idOfInput”],但在使用WebForms时通常不建议这样做。

我不想将html控件作为服务器控件。那么您将无法在后面的代码中看到它吗?这是在代码背后看到它的唯一方式。你为什么不想让它成为一个服务器控件?我想,如果我将我的html控件设置为服务器控件,那么与html控件相比,呈现网页需要一些时间。当我们使用服务器控件时,在呈现时,所有服务器控件都转换为html控件。我建议将它们设置为runat server,并查看它对性能的影响。通常这是可以忽略的,这可能是微优化你的代码太多的情况?我也试过了。但它不起作用。它给出了空值。你应该在这里添加你的代码!!这有助于我们了解你的问题。看看这个。。一个类似的问题@karthi:是的,我一直在研究这个问题。但这对我不起作用。