Asp.net HtmlInputText名称属性不起作用,并替换为ID
我正在从asp.net codebehind创建一系列输入文本控件。我正在使用下面的代码,但是这段代码没有在输入控件中设置name属性,而是将ID设置为输入控件的name属性。如何使name属性与ID不同Asp.net HtmlInputText名称属性不起作用,并替换为ID,asp.net,htmlcontrols,Asp.net,Htmlcontrols,我正在从asp.net codebehind创建一系列输入文本控件。我正在使用下面的代码,但是这段代码没有在输入控件中设置name属性,而是将ID设置为输入控件的name属性。如何使name属性与ID不同 HtmlInputText sno = new HtmlInputText(); sno.ID = "txtSno" + j; sno.Name = "txtSno-n
HtmlInputText sno = new HtmlInputText();
sno.ID = "txtSno" + j;
sno.Name = "txtSno-name";
sno.Value = snoList[i].ToString();
sno.Attributes.Add("class", "form-control");
cellsno.Controls.Add(sno);
这是最终呈现的html
<input name="txtSno1" type="text" id="txtSno1" value="1" class="form-control">
预期是
<input name="txtSno-name" type="text" id="txtSno1" value="1" class="form-control">
您不能使用HtmlInputText对象的name属性更改输入的name属性。
如Microsoft文档中所述 使用“名称”属性确定一个对象的唯一标识符名称 HtmlInputControl。在这个实现中,get访问器返回 Control.UniqueID属性的值。但是,set访问器没有 不为此属性指定值
无法更改名称属性。从Microsoft文档:
使用Name属性确定HtmlInputControl的唯一标识符名称。在此实现中,get访问器返回Control.UniqueID属性的值。但是,集合访问器没有为该属性赋值。
你说得对@Arsen现在我稍微改变了我的方法。你可以这样回答。