我正在尝试在两个视图之间重用部分视图表单(编辑和创建)。
在父视图中我声明了一个名为form type的变量,我基本上只想在我的局部视图中使用该值,但它似乎不起作用。这是我到目前为止所做的:
父视图
@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)
部分VIew(_SlideForm)
@model Models.Slide
@using (Html.BeginForm(ViewBag.Title, "Slide", null, FormMethod.Post, new { enctype = "multipart/form-data" }))
{
我基本上只是想在局部视图之外声明一些我可以在局部视图中用于动作方法的东西。
任何帮助都会受到很大的影响。
由于
答案 0 :(得分:1)
你有什么应该工作。问题是当你传递这样的参数时,类型需要匹配。 ViewBag
之外的任何内容都是动态的,因此您必须转换为正确的类型。另外,我想你在这里有点蠢,并打算使用ViewBag.FormType
而不是ViewBag.Title
。 ViewBag.Title
不是有效的操作名称,因此无论如何都会失败。
@using (Html.BeginForm((string)ViewBag.FormType, ...