在.net 4.0中工作,似乎所有输入控件都具有属性“name”,其值以“ct100$
...”开头。
有没有办法重命名这个?
我已经一直走到控制层次结构中,给每个控件一个ID并将其clientidmode
设置为“Static
”无效,甚至是页面上的“最早”控件仍然继承前缀。
答案 0 :(得分:5)
这是母版页的ID。我通过在我的母版页面添加Page_Init
来更改它,该母版页设置了其ID:
Private Sub InitSub(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
ID = "master"
End Sub
此ID通常为空/ null,因此当它呈现它时会生成一个id(从ct100开始上升)
与@Scott Stafford一样,请保持简短,因为它会为您网页上的每个客户ID添加前缀。
我使用“mBio”,“mHome”等词语。
答案 1 :(得分:2)
为什么要重命名呢?你可以像@Bob Fincheimer所描述的那样,但那又怎么样?此外,如果您重命名它,请保持新名称简短,因为该名称会在所有生成的HTML和所有POSTing变量中显示数百次,可能足以实际影响您网站的性能。
答案 2 :(得分:0)
如果要删除它,请在web.config中查找以下标记:
<system.web>
...
<pages ... clientIDMode="*something*">
</pages>
...
</system.web>
删除clientIDMode =“某些”属性规范。把它拿出来吧。
**我从here偷了我自己的答案。