我有一个情况,我有一个非常大的项目,我想更改应用程序中存在的每个文本框的最大长度属性。我怎样才能在服务器上花费很少的精力完成这项工作。
答案 0 :(得分:4)
<pages> . . . <tagMapping> <add tagType="System.Web.UI.WebControls.TextBox" mappedTagType="YouNamespace.YourTextBox" /> </tagMapping> </pages>
TagMapping由编译器完成,因此不会增加运行时开销。
您也可以使用控制适配器,但在这种情况下,我认为标签映射可能更清晰,更容易。
答案 1 :(得分:1)
您可以使用control adapter自定义指定类型的所有控件的渲染,这样您就可以控制文本框接受的最大长度。
从ControlAdapter
文档(重点是我的):
适配器修改特定浏览器或类的控件 浏览器或充当某种功能的任意过滤器。
在这种情况下,任意过滤器对于所有MaxLength
控件都是常见的TextBox
。
答案 2 :(得分:0)
使用文本编辑器的搜索替换选项。
或者,如果您不想对其进行硬编码,请在页面加载时使用常见的Java脚本文件。在这个javascript中设置页面的每个TextBox的MaxLenght。
Jquery中的这样的东西应该适合你
$(document).ready(function()
{
// replace 6 with new length you want to set
$('input[type=text], textarea').attr('maxlength','6');
});
答案 3 :(得分:0)
重构。如果项目中的所有TextBox控件都派生自System.Web.TextBox,那么创建自己的MyTextBox,派生自System.Web.TextBox,并使所有文本框都来自此。
因此,在MyTextBox中只设置了首选的MaxLength