相关疑难解决方法(0)

EditorFor不在没有BeginForm的情况下呈现数据验证属性

在MVC应用程序中,我想动态渲染表单的某些部分(就像控制器端的PartialView)

在局部视图中,我没有Html.BeginForm(),因为表单标签已经呈现.

@model Introduction.Models.Human
<div>
    @Html.EditorFor(model => model.MarriageInformation.SpouseDetails)
    <div class="editor-label">
        @Html.LabelFor(model => model.MarriageInformation.DOM)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.MarriageInformation.DOM)
        @Html.ValidationMessageFor(model => model.MarriageInformation.DOM)
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我面临的问题是在这种情况下,EditorFor不会返回所有data-val-*属性.

<div>
   <div class="editor-label">
    <label for="MarriageInformation_SpouseDetails_Name">Name</label>
</div>
<div class="editor-field"><input class="text-box single-line" id="MarriageInformation_SpouseDetails_Name" name="MarriageInformation.SpouseDetails.Name" type="text" value="" /> 
Run Code Online (Sandbox Code Playgroud)

这是设计还是我在这里遗漏了什么?这附近有工作吗?

我想的选项是在ajax加载之后 - 剥离表单并注入内部内容.

c# asp.net-mvc-3

16
推荐指数
1
解决办法
7581
查看次数

ASP.NET MVC 3:当BeginForm在布局上时生成不显眼的验证

我刚刚意识到,当我在布局页面上放置一个表单标签,围绕RenderBody部分时,不会生成不显眼的验证.像这样的东西:

@using (Html.BeginForm())
{
    <input type="submit" value="save" />

    <div>
        @RenderBody()
    </div>
}
Run Code Online (Sandbox Code Playgroud)

您可能已经猜到我想在我的内容上生成按钮.这是不正确的不引人注意的行为吗?

顺便说一句,如果我将表单放在特定页面中,一切都像魅力一样:data-val*属性生成良好.

我很感激你的宝贵帮助.

最好的祝福

罗德里戈

unobtrusive-validation asp.net-mvc-3

7
推荐指数
2
解决办法
5469
查看次数

标签 统计

asp.net-mvc-3 ×2

c# ×1

unobtrusive-validation ×1