【发布时间】:2015-11-12 20:33:11
【问题描述】:
我正在尝试在两个视图(编辑和创建)之间重用部分视图表单。
在父视图中,我声明了一个名为表单类型的变量,我基本上只想在我的局部视图中使用该值,但它似乎不起作用。这是我目前所拥有的:
父视图
@model Models.Slide
@{
ViewBag.Title = "Edit Slide";
ViewBag.FormType = "Edit";
Layout = "~/Areas/Admin/Views/Slide/_SlideLayout.cshtml";
}
<h2>Edit Slide</h2>
@Html.Partial("_SlideForm", Model)
部分视图 (_SlideForm)
@model Models.Slide
@using (Html.BeginForm(ViewBag.Title, "Slide", null, FormMethod.Post, new { enctype = "multipart/form-data" }))
{
我基本上只是想在局部视图之外声明一些可以用于局部视图中的操作方法的东西。
任何帮助将不胜感激。
谢谢
【问题讨论】:
-
我基本上只是想在局部视图之外声明一些可以用于局部视图中的操作方法的内容。 使用Child Action 来执行此操作。我为此answer做了一个例子。
-
我不明白为什么你不只是在父视图中声明@using (Html.BeginForm()) 而只是使用局部视图来显示字段
-
@JamieD77,同意。那将是更好的方法。
-
我认为更简洁的方法是对创建和编辑表单帖子使用相同的 HttpPost 操作方法。 ViewBags 是动态的,我会尽可能少地使用它们。
标签: c# .net asp.net-mvc forms model-view-controller