0

我希望能够将一个模板中定义的变量传递给另一个模板,该变量包含在第一个模板中:

模板 1:

@{string datetype= "beforethisyear"}
@RenderPage("Template2.cshtml", datetype)

模板 2:

<input type="text" data-datetype="@datetype"/>

不幸的是,这会在模板 2 中产生错误:

"The name 'datetype' does not exist in the current context"

有没有办法在不首先将变量绑定到模型的情况下传递变量?

4

2 回答 2

1

我会说你可以用ViewBag这个

@{ViewBag.Datetype = "beforethisyear"}

<input type="text" data-datetype="@ViewBag.Datetype"/>
于 2013-08-28T12:36:53.017 回答
1

使用 ViewBag:

模板1:

@{ ViewBag.DateType = "beforethisyear"; }

模板2:

<input type="text" data-datetype="@ViewBag.DateType"/>

这正是 ViewBag 的用途——传递仅供查看的数据。请注意,如果您传递的数据实际上是或应该是数据模型的一部分,那么您应该真正为它使用模型的属性。鉴于您的变量的名称,我猜它应该是模型的一部分。请注意,模型不一定是您的数据类(即表示表中一行的实体),MVC 中视图的模型是概念上表示该视图中数据的任何东西。

于 2013-08-28T12:37:01.140 回答