2

我有一个具有类库和 mvc 项目的解决方案。

我需要在类库中有一个更改 viewbag 的方法。但我无法从类库项目中访问 viewbag。

我应该怎么办 ?

4

2 回答 2

1

你不能。ViewBags 不扩展任何可以作为参数传递的东西。我专门指的是 viewbag 本身,而不是变量属性。您可以将它们作为对象传递。不过,您还有其他选择。您可以将 ViewBag 替换为会话变量。会话变量可以通过像这样引用它们直接在模型内部访问:

System.Web.HttpContext.Current.Session["error"] = "error!";

当然,您可以在索引页面或控制器中轻松引用它。

于 2021-09-01T15:38:23.040 回答
0

您是否尝试过将 Viewbag 传递给方法?

您在 MVC 项目中在哪里使用类库?

更新:您正在从控制器调用类库

这是一个示例,如果您的 viewbag 用于冰淇淋并且您的类库计算价格。

  1. 在控制器和 viewbag 中设置为巧克力。
  2. 调用类库并传递 Viewbag.Icecream.ToString()
  3. 从类库返回“$ 1.50”
  4. 将返回的数据传递给视图
于 2013-09-07T21:06:28.703 回答