Asp.net mvc 3 我们如何在布局中包含表单?

Asp.net mvc 3 我们如何在布局中包含表单?,asp.net-mvc-3,Asp.net Mvc 3,目前,我的网站的每个页面都使用了一个_layout.cshtml。 我需要在显示为popin的每个页面上放置一个表单。 因此,我创建了一个新的PartialView(我表单的内容)及其相应的ViewModel,并在_layout.cshtml中调用它 但是,使用布局的页面的ViewModel与新表单使用的ViewModel之间存在模型冲突(因为我们不能直接为同一个视图使用两个模型) 传入字典的模型项的类型为“XXX”,但是 字典需要类型为“YYY”的模型项 我们如何才能在“U布局”中包含一个表单

目前,我的网站的每个页面都使用了一个_layout.cshtml。
我需要在显示为popin的每个页面上放置一个表单。
因此,我创建了一个新的PartialView(我表单的内容)及其相应的ViewModel,并在_layout.cshtml中调用它

但是,使用布局的页面的ViewModel与新表单使用的ViewModel之间存在模型冲突(因为我们不能直接为同一个视图使用两个模型)

传入字典的模型项的类型为“XXX”,但是 字典需要类型为“YYY”的模型项


我们如何才能在“U布局”中包含一个表单而不发生冲突?

以下内容对我很有用,每个页面上都有一个侧边栏

  • 为局部视图创建控制器
  • 在该控制器中,为要返回的视图创建一个方法,并确保使用[ChildActionOnly]过滤器

    public class PartialController : Controller
    {
        [ChildActionOnly]
        public PartialViewResult Alerts()
        {
    
            return PartialView("Alerts", messages);
        }
    }
    
  • 在_布局视图中,您将看到以下内容:

    @Html.Action("Alerts", "Partial")
    
    (而不是@Html.RenderPartial或@Html.Partial)

  • 听起来您已经拥有了视图所需的内容


  • 我没有在表单中使用它,但它的工作方式应该类似。希望这能有所帮助。

    您如何在_layout.cshtml中调用PartialView?@{Html.RenderPartial(“_Partner”)}试试这个
    @Html.Partial(“_Partner”)
    通过控制器进行渲染/操作是个好主意:-)谢谢!