我有一个包含2个局部视图的父视图,部分视图包含少量文本框和一个按钮,当我提交按钮时,部分视图将显示一些消息。代码如下:
查看:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage(Of Test.ParentModels)" %>
<% Html.RenderPartial("LogIn", Model.LoginModel)%>
<% Html.RenderPartial("Register", Model.RegisterModel)%>
型号:
public class LoginModel
{
//code here
}
public class RegisterModel
{
//code here
}
public class ParentModel
{
public LoginModel LoginModel {get; set;}
public RegisterModel RegisterModel {get; set;}
}
控制器:
//LogIn page will call this method on submit
public LogIn(LoginModel model)
{
//do something that changed Login html view
return View("LogIn", model);
}
问题是我不知道如何返回更新的部分视图及其父级(回发),我不想使用ajax来实现这一点。我尝试了返回View(“LogIn”,模型)并返回PartialView(“LogIn”,模型),两者都只显示没有父节点的局部视图。任何帮助将不胜感激,并抱歉英语不好。
答案 0 :(得分:0)
由于您要进行整页回发,虽然您从部分视图部分回发,但在相应的操作方法中,您需要返回主视图(在您的情况下有两个部分),也捕获任何状态从回发中获取并将其设置为模型对象(如果您需要保持状态),如主视图所期望的那样。
E.g。
return View("ParentViewName",objParentModel);