【发布时间】:2011-10-26 00:27:57
【问题描述】:
我需要处理一个包含各种不同搜索控件的表单,但是这些搜索控件现在位于母版页内,因此 id 正在添加额外的垃圾('ct100$Body$TextBox_Postal' 而不是' TextBox_Postal')。
我可以通过设置 ClientIDMode=CliendIDMode.Static 来解决这个问题,因为它不会尝试在 id 中包含命名容器,所以效果很好。我相信页面上永远不会有两个相同的控件,所以这会起作用。
问题是,当表单被回发时,控件是按名称处理的。名称仍然是 'ct1200$Body$..' 格式,因此 processform 函数无法找到任何控件。有没有办法让 ASP 也将名称设置为“静态”模式?
【问题讨论】:
-
您是如何处理控件的?你能发布一些服务器端代码吗?此外,如果您知道 id,为什么不直接使用它们呢?
-
控件在页面加载时动态添加到表单中,处理表单只是查看request.Form,其中包含所有搜索控件名称及其值的namevaluecollection。
-
发布一段代码 sn-p,说明您是如何找到控件的。
标签: asp.net-4.0