Html asp.net中控件的name属性默认采用id
为什么asp.net中控件的“name”属性在asp.net中默认采用“id”值Html asp.net中控件的name属性默认采用id,html,asp.net,xml,Html,Asp.net,Xml,为什么asp.net中控件的“name”属性在asp.net中默认采用“id”值 <%var ctrl =new HtmlInputText(); ctrl.ID = "ctrl_id"; ctrl.Name="ctrl_name"; StringBuilder sb = new StringBuilder(); System.IO.StringWriter sw = new System.IO.StringWriter(sb); HtmlTextWriter
<%var ctrl =new HtmlInputText();
ctrl.ID = "ctrl_id";
ctrl.Name="ctrl_name";
StringBuilder sb = new StringBuilder();
System.IO.StringWriter sw = new System.IO.StringWriter(sb);
HtmlTextWriter writer = new HtmlTextWriter(sw);
ctrl.RenderControl(writer);%>
<%=sb.ToString()%>
上面的代码呈现控件,但name属性的值为“ctrl\u id”,而不是“ctrl\u name”请尝试:
ctrl.Attributes.Add("name","ctrl_name");
这是一种旁白,但如果您要向页面动态添加控件,通常最好将控件直接添加到另一个控件的子控件集合中,而不是响应。将其写入页面
var ctrl =new HtmlInputText();
ctrl.ID = "ctrl_id";
ctrl.Name="ctrl_name";
//PlaceHolder1 has been defined in the ASPX page
PlaceHolder1.Controls.Add(ctrl);
我试过了!在这种情况下,我尝试了一些方法,比如ctrl.Attributes.Add(ctrl.Name,“ctrl_Name”);它的附加属性是ctrl\u id=“ctrl\u name”,我不明白它是如何使用ctrl\u id的,我说ctrl\u name使用ctrl.Attributes.Add(“name”,“ctrl\u name”);是的,是的,我已经试过了,但是名字仍然是“ctrl\u id”谢谢你,克里斯!但问题不在于addin控件,而在于我如何重写“name”的值,因为它默认接受id的值。您是否尝试过这两种方法:cntrl.Attributes.Add(“id”,“cntrl_id”);cntrl.Attributes.Add(“name”、“cntrl_name”);