.Net在方法中使用视图袋变量

本文关键字:视图 变量 方法 Net | 更新日期: 2023-09-27 18:21:52

我正在尝试在两个视图之间重用部分视图形式(编辑和创建)。

在父视图中,我声明了一个名为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" }))
{

我基本上只是想在局部视图之外声明一些东西,以便在局部视图中用于操作方法。

任何帮助都将不胜感激。

感谢

.Net在方法中使用视图袋变量

您所拥有的应该是有效的。问题是,当您传递这样的参数时,类型需要匹配。ViewBag之外的任何内容都是动态的,因此必须转换为正确的类型。此外,我想你在这里有点傻,打算使用ViewBag.FormType而不是ViewBag.TitleViewBag.Title不是一个有效的操作名称,所以无论如何都会失败。

@using (Html.BeginForm((string)ViewBag.FormType, ...