首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当前上下文中不存在名称“ViewData”

错误消息“当前上下文中不存在名称'ViewData'”通常出现在ASP.NET MVC项目中,这可能是由于以下原因:

  1. 你可能没有在控制器中设置ViewData。在控制器的动作方法中,你可以设置ViewData,然后在视图中访问它。例如:
代码语言:javascript
复制
public ActionResult Index()
{
    ViewData["Message"] = "Hello, world!";
    return View();
}

然后在视图中:

代码语言:javascript
复制
<p>@ViewData["Message"]</p>
  1. 你可能在一个没有继承自Controller的类中尝试访问ViewData。只有Controller类(或者继承自Controller的类)才有ViewData属性。
  2. 你可能在一个非视图文件中尝试访问ViewData。在ASP.NET MVC中,通常只有视图(.cshtml文件)可以访问ViewData。

如果你在以上情况都没有问题,但是仍然遇到这个错误,那么可能是你的项目存在一些其他问题。你可能需要检查你的项目设置,或者尝试清理并重新构建你的项目。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • @Autowired和@Resource的使用

    @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了。@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。   @Resource装配顺序   1. 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常   2. 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常   3. 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常   4. 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配;

    01

    Spring 的事务传播特性和隔离级别

    PROPAGATION_REQUIRED:Spring的默认传播级别,如果上下文中存在事务则加入当前事务,如果不存在事务则新建事务执行。 PROPAGATION_SUPPORTS:如果上下文中存在事务则加入当前事务,如果没有事务则以非事务方式执行。 PROPAGATION_MANDATORY:该传播级别要求上下文中必须存在事务,否则抛出异常。 PROPAGATION_REQUIRES_NEW:该传播级别每次执行都会创建新事务,并同时将上下文中的事务挂起,执行完当前线程后再恢复上下文中事务。(子事务的执行结果不影响父事务的执行和回滚) PROPAGATION_NOT_SUPPORTED:当上下文中有事务则挂起当前事务,执行完当前逻辑后再恢复上下文事务。(降低事务大小,将非核心的执行逻辑包裹执行。) PROPAGATION_NEVER:该传播级别要求上下文中不能存在事务,否则抛出异常。 PROPAGATION_NESTED:嵌套事务,如果上下文中存在事务则嵌套执行,如果不存在则新建事务。(save point概念)

    02
    领券