日期:2014-05-17  浏览次数:20468 次

asp.net 中runat="server"的问题
本人刚接触ASP.NET,很都东西都不懂,还请各位指教。
在asp.net中的前台页面中的控件中都有runat="server",如果不加runat="server",是不是就不能在后台的代码中直接对控件进行操作了。如:
前台有  <asp:Label ID="label1" runat="server" Text="标签1" />
后台可以通过 label1.Text="改变后的标签" 进行修改,
但是如果前台是 <label ID="label2" Value="标签"></label>
那么后台还可以通过 label2.Value="改变后的标签2" 进行修改吗?
asp.net runat server asp runat=server

------解决方案--------------------
额,你干么非要怎么问。runat="server" 只不过是把标签变为服务器控件。 html 里面的标签有时候在后台用到就加runat="server" 来获取
------解决方案--------------------
是的,不是runat="server",你在后台Label2打点不会出来属性的
------解决方案--------------------
如果你不加上runat="server" 的话  你在后台根本就找不到Label2这个控件 会报错的 
------解决方案--------------------
简单理解就是后台服务器控件,后台取值必须加,与之对应的就是前台客户端控件咯。
------解决方案--------------------
ASP.NET添加了服务器控件,服务器控件的意思是在里页面上建立了普通HTML标签或ASP.NET服务器控件,他们需要在控件加上runat="server"来标记为服务器控件,ASP.NET就会解析进行一系列的处理,在后台都可以调用通过标记的控件,获取你需要对控件的一系列取值要求
------解决方案--------------------
没加上runat="server",在后台将不能直接对此控件进行操作。如果你要在后台对此控件进行操作的话最好还是用服务器控件<asp:XXXX runat="server" id="control"/>,在后台直接用id操作此控件。在js中使用document.getelementById("<%=control.ClientID%>")来对控件进行操作