gpt4 book ai didi

forms - 包含表单的 ASP.NET MVC3 Html.Action

转载 作者:行者123 更新时间:2023-12-05 00:38:12 26 4
gpt4 key购买 nike

我的页面上有一个包含表单的 pod。

我以与以下类似的方式使用了这个 pod:

@Html.Action("Pod","Home")

在处理表单发布的 Pod 的 HttpPost 操作中有一些业务规则检查。如果此业务规则失败,我会向模型状态添加错误。

问题是,当业务规则无法验证时。我从 pod 操作返回一个 View,它只在空白页面上显示 pod。

我怎样才能正确地重用这样的表单并且仍然对这个业务规则进行服务器端验证(需要一个数据库命中来验证)?

最佳答案

一种可能性是对 Pod 中的表单进行 AJAX 化。部分的:

<div id="pod">
@Html.Action("Pod","Home")
</div>

和内部 Pod.cshtml :
@using (Html.BeginForm("Pod", "Home", FormMethod.Post, new { id = "podForm" }))
{
...
}

最后 AJAXify 吧:
$(function() {
$('#podForm').submit(function() {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function(result) {
$('#pod').html(result);
}
});
});
});

最后要确保的是 POST 操作将 Pod.cshtml 作为局部 View 返回。两种可能:
[HttpPost]
public ActionResult Pod(PodViewModel model)
{
if (!ModelState.IsValid)
{
return PartialView(model);
}
...
}

或在 Pod.cshtml部分的:
@{
Layout = null;
}

关于forms - 包含表单的 ASP.NET MVC3 Html.Action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5911734/

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