gpt4 book ai didi

jquery - ASP.NET MVC 2 使用 jQuery 加载部分 View - 无客户端验证

转载 作者:行者123 更新时间:2023-12-03 22:21:39 26 4
gpt4 key购买 nike

我正在使用 jQuery.load() 来渲染部分 View 。这部分看起来像这样:

$('#sizeAddHolder').load(
'/MyController/MyAction', function () { ... });

我的 Controller 中的操作代码如下:

    public ActionResult MyAction(byte id)
{
var model = new MyModel
{
ObjectProp1 = "Some text"
};

return View(model);
}

[HttpPost]
public ActionResult MyAction(byte id, FormCollection form)
{
// TODO: DB insert logic goes here

var result = ...;

return Json(result);
}

我返回的部分 View 如下所示:

<% using (Html.BeginForm("MyAction", "MyController")) {%>
<%= Html.ValidationSummary(true) %>

<h3>Create my object</h3>

<fieldset>
<legend>Fields</legend>

<div class="editor-label">
<%= Html.LabelFor(model => model.ObjectProp1) %>
</div>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.Size.ObjectProp1) %>
<%= Html.ValidationMessageFor(model => model.ObjectProp1) %>
</div>

div class="editor-label">
<%= Html.LabelFor(model => model.ObjectProp2) %>
</div>
<div class="editor-field">
<%= Html.TextBoxFor(model => model.ObjectProp2) %>
<%= Html.ValidationMessageFor(model => model.ObjectProp2) %>
</div>

<p>
<input type="submit" value="Create" />
</p>
</fieldset>

<% } %>

客户端验证在这种情况下不起作用。此外,包含验证消息的脚本也不包含在返回的 View 中。我的模型类中的两个属性都有 RequiredStringLength 属性。有什么方法可以在这样加载的 View 中触发客户端验证吗?

最佳答案

首先,您应该返回部分 View 而不是 View 。

return PartialView(model);

其次,您是否尝试使用 AJAX 加载此部分 View ?在这种情况下,您可能需要使用 jquery.ajax

function ajax_update(path)
$.ajax {
url: path,
success: function(result) {
$('#sizeAddHolder').html(result);
}
return false;
}

关于jquery - ASP.NET MVC 2 使用 jQuery 加载部分 View - 无客户端验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2652586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com