【发布时间】:2015-01-27 22:56:51
【问题描述】:
我一直在使用此处的 JQuery 验证引擎:https://github.com/posabsolute/jQuery-Validation-Engine
我在 Asp.net webforms 网站(不是 MVC)中使用它。我在 Masterpage 中有表单标签并从那里调用验证函数。
$(function () {
$("#form1").validationEngine('attach', { promptPosition: "topRight" });
});
如果控件位于 MasterPage 上,则验证器可以正常工作,但如果它们是从内容页面引入的,则不会对其进行验证。
我环顾四周,发现这是因为 .net 重命名控件以避免冲突:https://stackoverflow.com/a/7353664/1218621
所以我将 ClientIDMode="Static" 放在我的 MasterPage 指令中,但这只会保留表单控件 ID,而不是名称。这个 jquery 验证引擎通过名称调用项目。
我知道我可以编写一个脚本来重命名我的控件,但我了解到,在那之后我将无法在回发时引用它们的属性,而且这似乎不是最佳做法.
由于我可以通过使用 ClientIDMode="Static" 来确保控件 ID 是什么,但我不能指望它们的名称值不会改变,有没有办法让 jquery 验证引擎在控件 ID 上工作而不是名字?
【问题讨论】:
标签: jquery asp.net jquery-validation-engine