在使用 Ajax.BeginForm 时,Partial View 不会在 Page_Load 中渲染。解决方法是在控制器中添加一个 Action 方法来处理部分视图的请求,并在 Ajax.BeginForm 中指定该方法。
示例代码:
控制器中的 Action 方法:
public PartialViewResult MyPartialView()
{
// 处理部分视图的逻辑代码
return PartialView("_MyPartialView");
}
View 中的 Ajax.BeginForm:
@using (Ajax.BeginForm("MyPartialView", new AjaxOptions { UpdateTargetId = "partialViewContainer" }))
{
// Ajax.BeginForm 内部的表单内容
}
@Html.Partial("_MyPartialView")
将部分 View 的渲染代码放在一个带有 id 的 div 容器中,并在 Ajax.BeginForm 中指定该容器的 id 作为 UpdateTargetId 参数。当 Ajax.BeginForm 提交表单时,会异步请求控制器中的 MyPartialView Action 方法,该方法会返回 _MyPartialView 部分视图,然后将其显示在指定的 div 容器中。