ASP.NET MVC 3.0部分内部和外部表单具有不显眼的数据验证属性,发出问题
|
我有条件的内容,根据条件使用jQuery,我在表单元素中包括或排除了这部分。
这是我的功能:
function MoveInsideForm(id) {
$(\"#\" + id).insertAfter(\"#myForm\")
}
function MoveOutsideForm() {
$(\"#myPartial1\").insertAfter(\"#element-outside-from\");
$(\"#myPartial2\").insertAfter(\"##element-outside-from\");
}
问题出在ѭ1上,它没有被复制HTML 5自定义属性
例如我有一个像这样的元素
<input data-val=\"true\" data-val-required=\"*\" id=\"MyInput\" name=\"MyInput\" type=\"text\" value=\"\" class=\"input-validation-error\"/>
但是insertAfter()
这样复制它:
<input id=\"MyInput\" name=\"MyInput\" type=\"text\" value=\"\"/>
我也可以对“ 1”说什么来复制HTML 5属性吗?
我的jQuery版本是1.6.1。
更新:
谢谢大家的评论。
就是这样,当我在表单中渲染我的局部时,输入将使用不显眼的数据属性生成,但是如果我在表单外部显示我的局部,则不显眼的数据属性最初不会包含在输入中。
因此,当我在表单外部渲染局部视图时,它们最初不包含数据属性。
因此,jQueryinsertAfter()
并不是问题,这是不干扰数据验证属性生成的本质吗?
没有找到相关结果
已邀请:
1 个回复
授巨
。当您将HtmlHelper放置在
或
之外时,除非您手动实例化FormContext,否则HtmlHelpers不会具有不显眼的验证属性。您可以通过在助手之前插入以下代码来手动实例化FormContext:
如果将帮助程序放在BeginForm()之前,请确保在帮助程序之后和开始表单之前清除FormContext。