日期:2014-05-20  浏览次数:20773 次

怎么样使模板页中的内容页生成HTML元素时name值不改变
在net中使用了模板页,经常内容页生成的ID,和name值都会改变,看了网上资料在控件上加上属性 ClientIDMode="Static" ,ID的值就不会变化,但是name的值还是会变,
如下:
未加属性 
<asp:Button ID="btnSave" runat="server" Text="Button" />
页面的html 
<input type="submit" name="ctl00$ContentPlaceHolder1$btnSave" value="Button" id="ContentPlaceHolder1_btnSave" />

加了属性 ClientIDMode="Static"
<asp:Button ID="btnSave" runat="server" Text="Button" ClientIDMode="Static" /> 
页面的html
<input type="submit" name="ctl00$ContentPlaceHolder1$btnSave" value="Button" id="btnSave" /> 

但是它的name的值还是会变,在使用模板页或者是用户控件怎么保证生成的html不会变化,加上属性 ClientIDMode="Static" 只是保证ID的值不会变化,请各位高手指教!!


------解决方案--------------------
这个 真没办法 控制他不变 编译的时候他自己会根据id来命名name
除非你用js再重新命名



------解决方案--------------------
变化也是不影响代码的啊,如果变化了影响了你的js使用,那说明你还真正理解asp.net。
里面都有ClientID和UniqueID(对于name)的/。

另外,还可以去掉runat=server达到不变name的效果
------解决方案--------------------
不知道你要这些name做什么
服务器端btnSave.UniqueID就是name的值