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

为什么= ViewData [""]会显示一个字符串但是对同一个字符串进行评估会失败?

为什么 ViewData"" 会显示一个字符串但是对同一个字符串进行评估会失败?

ViewData 是 ASP.NET MVC 中的一个字典对象,用于在控制器和视图之间传递数据。它允许开发人员在控制器中设置数据,并在视图中使用该数据进行渲染。

当使用 ViewData"" 来显示一个字符串时,通常是在控制器中将该字符串赋值给 ViewData 字典中的一个键。然后在视图中,可以通过 ViewData"" 来获取该字符串并进行显示。

然而,对同一个字符串进行评估可能会失败的原因有以下几种可能性:

  1. 键名错误:可能是在控制器中设置 ViewData 时,键名错误导致无法获取到正确的字符串。请确保在控制器中设置 ViewData 时,键名与在视图中获取 ViewData 时使用的键名一致。
  2. 数据类型错误:ViewData 是一个字典对象,它可以存储任意类型的数据。如果在控制器中将字符串以其他数据类型的形式存储到 ViewData 中,那么在视图中获取时可能会失败。请确保在控制器中将字符串以正确的数据类型存储到 ViewData 中,例如使用 ViewData"" = "字符串"。
  3. 视图中的评估错误:如果在视图中对字符串进行评估时出现失败,可能是因为在评估表达式时出现了错误。请确保在视图中正确地使用字符串,例如使用 @ViewData"" 来显示字符串。

总结起来,当 ViewData"" 显示一个字符串但对同一个字符串进行评估会失败时,可能是键名错误、数据类型错误或者视图中的评估错误导致的。请仔细检查代码,确保在控制器和视图中正确地设置和获取 ViewData 数据。

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

相关·内容

MVC5学习系列--Razor视图(一)

前言 嗷~小弟我又出现了~咳咳..嚎过头了, 先说一说为什么写这个吧,~首先肯定是我自己需要学(废话 - -,)//,之前也写过MVC4的项目,嗯..但是仅限于使用并没有很深入的每个模块去了解, 这段时间拜读了汤姆大叔的...@{string name = "啪啪啪~";} @name.asd 我们本来想显示 啪啪啪.asd..这个字符串,结果编译出错了,Razor视图因为没有碰到"<"所以把asd...我们的H1标签..直接被视图编译成了字符串,哦买噶 - -,直接帮我们防止了XSS脚本注入攻击~但是,我们自己想用..怎么办呢.....@for (int i = 0; i < 5; i++) { 哈哈 } 6.转义符代码分隔符 大家都知道..在C#里面如果要在字符串显示""..是要加上转义符的,我们这个视图...这个视图优于他存在的Views文件夹中所有的视图执行..然后..他可以指定一个母板页面,最后 你们都懂了 - - ...我就不说了..

1.3K80

重学ASP.NET Core 中的标记帮助程序

使用 @tagHelperPrefix 阐明标记帮助程序用途 @tagHelperPrefix 指令可指定一个标记前缀字符串,以启用标记帮助程序支持并阐明标记帮助程序用途。 ...IntelliSense 显示页面模型上的所有方法和属性。 由于属性类型是 ModelExpression,所以这些方法和属性可用。...但是,在创作标记帮助程序时,通常从 TagHelper 派生,这样可以访问 Process 方法。 创建一个名为 AuthoringTagHelpers 的新 ASP.NET Core 项目。...EmailTagHelper 标记帮助程序 如果你正在编写博客引擎,并且需要它将营销、支持和其他联系人的电子邮件全部发送到同一个域,则可能需要这样的一个标记帮助程序。...website-information info="webContext" /> Razor知道 info 属性是一个类,而不是字符串,并且您想要编写 c # 代码。

2.8K10
  • 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递

    本章的目标是在今天学习结束时利用最佳实践解决方案创建一个小型的MVC项目,本节的主要目标是了解MVC之间的数据传递问题。我们逐步深入讲解,并添加新功能,使项目越来越完善。 ?...为什么需要强制转换类型 ViewData可操作内部对象,每次添加新值,封装成对象类型,因此每次都需要解压来提取值。 3. @emp.FirstName @emp.LastName有什么特殊含义?...但是在实际使用的过程中,它们并不是最佳选择,接下来我们来看看使用它们的缺点: 性能问题;ViewData中的值都是对象类型,使用之前必须强制转换为合适的类型。添加额外的性能负担。...接下来,我们看一个简单的例子,如果工资大于15000则显示黄色,低于显示绿色。 1....尽管运行结果类似,但是View中不包含任何业务逻辑。 关于实验6 是否意味着,每个Model都有一个ViewModel? 每个View有其对应的ViewModel。

    2.3K90

    Model验证系统运行机制是如何实现的?

    二、实例演示:验证Model绑定过程中ModelError的设置 Model验证可以看成是Model绑定过程的一部分,它在生成目标Action方法参数值的过程中会对提供的数据实施验证,而在验证失败的情况下验证结果以...Key和Value分别为字符串和ModelState的字典,并且允许一个字符串作为其Key。...在默认的Action方法Index中我们添加了四个ModelError到当前的ModelState集合中,除了最后一个一个字符串作为Key之外,前三个均具有一个明确的Key。...通过上面演示的两个例子我们知道通过CompositeModelValidator这个默认ModelValidator完成的Model验证并不是递归进行的),但是从整个Model绑定过程来看,Model验证却具有递归性...由于Contact的Address属性是一个复杂类型,所以在针对Contact类型的Model绑定过程中会递归地绑定一个Address对象并Contact对象的Address属性进行初始化。

    1.8K110

    hive 中 统计某字段json数组中每个value出现的次数

    下面介绍两种方法 法一get_json_object+正则 1.首先可以使用get_json_object函数,提取出数组,但是这个返回的是一个字符串 select get_json_object('{...":1,"qd_title":"看青山游绿水","list_id":327}]}', '$.viewdata[*].qd_title') -- 返回,注意这不是一个array数组,只是一个字符串 ["...网红打卡地","看青山游绿水"] 2.将字符串中的[ ] "都去掉,形成一个,分割的字符串 regexp_replace('${刚刚得到的字符串}','(\\[|\\]|")','') 3.使用字符串分割函数...,由,分割,所以可以使用``},```字符串进行拆分 -- event_attribute['custom'] 对应的就是上面的json字符串 split(event_attribute['custom...'],'"}') 2.对分割出来的每一个元素进行正则匹配,提取出qd_title对应的value -- qd_titles 为上面分割出数组的一个元素 regexp_extract(qd_titles,

    10.6K31

    ASP.NET MVC5高级编程——(2)MVC模式的视图

    3 ,常见的情况是控制器需要向视图提供一些信息,所以传递一个数据转移对象,叫做模型(此处模型指的是数据容器,就是类似于Javabean),而视图将这个模型转换为一种适合显示给用户的格式。 ?...对于电子邮件地址时的情况,Razor可以辨别出邮件的模式,进而不处理这种形式的表达式: support@megacorp.com 但是如果确实想将这种形式的字符串作为一个表达式...,也需要合理用圆括号: 对于 Item_@item.Length 期望的输出结果是Item_3,但是Razor会将其按照字符串进行打印。...{ 2 Layout = "~/Views/Shared/_Layout.cshtml" 3 } 如果多个视图都使用都使用同一个布局,就会产生冗余。...如果一组视图拥有共同的设置,那么_ViewStart.cshtml中的代码可以用来共同的视图进行统一配置。如果有视图需要覆盖统一的设置,只需要修改对应的属性值即可。

    2.9K10

    ASP.Net MVC开发基础学习笔记:三、Razor视图引擎、控制器与路由机制学习

    例如,我们可以在View中一个字符串进行判断和转换: @{ string test = "Edison Chou"; @test.IsInt()...(7)JavaScript:可以通过JavaScriptResult向浏览器单独输出一段JS代码,不过由于主流浏览器都对此进行了安全检查,因此你的JS代码也许无法正常执行,反而是字符串的形式显示在页面中...axd的资源访问请求进行忽略,直接进行URL访问;这里可以阅读参考资料第(5)篇,了解其详细含义,这里就不再赘述;   (2)然后,第二句开始使用MapRoute方法整个网站定义了一个路由识别规则,这个规则的...constraints属性是一个RouteValueDictionary对象,也就是一个字典表,但是这个字典表的值可以有两种类型:   一是:用于定义正则表达式的字符串(正则表达式不区分大小写)。...3.5 URL路由调试   在ASP.Net MVC中,默认是不允许对路由规则进行调试的。但是,我们可以通过使用RouteDebug来辅助进行调试。

    1.8K30

    HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 六)

    属性通过唯一的键字符串值访问。 AppStorage可以和UI组件同步,且可以在应用业务逻辑中被访问。...装饰器使用规则说明 @StorageProp变量装饰器 说明 装饰器参数 key:常量字符串,必填(字符串需要有引号)。...组件本地的修改是允许的,但是AppStorage中给定的属性一旦发生变化,将覆盖本地的修改。...装饰器使用规则说明 @StorageLink变量装饰器 说明 装饰器参数 key:常量字符串,必填(字符串需要有引号)。...并覆盖PersistentStorage中的同名属性,所以建议要使用相反的调用顺序; 如果在AppStorage中已经创建属性后,再调用Environment.EnvProp()创建同名的属性,会调用失败

    37120

    ASP.NET MVC 3中ViewBa

    dynamic类型可以理解为,编译器在编译到这种类型时,跳过类型检查,而在运行时做这些事情。...从内部实现上,ViewBag属性是按照键值那样存放在ViewData中的,因此也可以通过方为ViewData中值来访问ViewBag的值,他们指向的引用是同一个的。...但是区别在于,ViewData的写法是按照序列访问那样,通过索引访问,而ViewBag是通过属性访问。事实上,在编译阶段,编译器无法知道ViewBag所给的属性是否存在,这都是在运行时决定的。...举个例子,ViewData["Index"]可以写成:ViewBag.Foo,而不需要担心编译时错误。 我们可以通过下面的例子来验证ViewBag和ViewData其实指向的对象是同一个。...可以看到ViewData["XXX"]做更改,影响到ViewData.XXX。后续的例子有证明了他们是指向同一个引用的。 在使用ViewBag的时候,有一个好处就是不需要做类型转换。

    91610

    ASP.NET MVC5高级编程——(2)MVC模式的视图与Razor引擎

    3 ,常见的情况是控制器需要向视图提供一些信息,所以传递一个数据转移对象,叫做模型(此处模型指的是数据容器,就是类似于Javabean),而视图将这个模型转换为一种适合显示给用户的格式。 ?...对于电子邮件地址时的情况,Razor可以辨别出邮件的模式,进而不处理这种形式的表达式: support@megacorp.com 但是如果确实想将这种形式的字符串作为一个表达式...,也需要合理用圆括号: 对于 Item_@item.Length 期望的输出结果是Item_3,但是Razor会将其按照字符串进行打印。...{ 2 Layout = "~/Views/Shared/_Layout.cshtml" 3 } 如果多个视图都使用都使用同一个布局,就会产生冗余。...如果一组视图拥有共同的设置,那么_ViewStart.cshtml中的代码可以用来共同的视图进行统一配置。如果有视图需要覆盖统一的设置,只需要修改对应的属性值即可。

    3.6K50

    【asp.net core 系列】3 视图以及视图与控制器

    别看少,但是这很重要。 2.1 使用视图 在之前介绍的时候,有提到过当我们访问一个URL的时候,路由自动为我们寻找到对应的可执行代码单元。但是,没有进一步内容的介绍。...的,View方法提供了几个重载版本,这些重载版本里有一个名字为viewName的参数,这个参数就是用来指定视图名称的。...那么,我们可以指定哪些视图名称: 同一个控制器文件夹下的其他视图 Shared 文件夹下的视图 这两种都是不用携带路径的视图名,可以省略文件扩展名(cshtml)。...类的一个属性,它的声明如下: public dynamic ViewBag { get; } 可以看到这是一个动态类,实际上ViewBag里的数据与ViewData是互通的,换句话说就是ViewBag是...--实际会显示 ViewDemo--> 与字典一样,@起头,表示后面跟着一个属性或者一段C#表达式,并将表达式的结果输出到页面上。

    2.5K10

    MVC3教程之新手入门

    在不对项目进行任何修改的情况下,直接按CTRL+F5,运行项目,运行结果如下: ? 这是一个404错误,指定的页面未找到。在项目运行时,Mvc3会将页面请求进行映射。...step4.修改代码 VS为我们创建了HomeController控制器的代码,在Index方法中,返回之为ActionResult,为了完成本示例,我们将它修改为string类型,并返回一个字符串,修改后的代码如下...我们的Helloworld已经可以运行起来了,但这不是我们想要的结果,因为到目前为止,只是在修改控制器,接下来,我们为控制添加一个Welcome方法,并在视图中,显示欢迎信息。   ...你不需要通过类来定义任何强类型的属性,因为这是动态属性,在内部,ViewBag 属性以名-值的形式保存在 ViewData 字典中。...,这时因为我们为参数name指定了默认值,它变成了一个可选的参数,在没有传入参数的时候,采用默认值“空字符串”,所以会有这个输出结果。

    1.5K20

    ASP.Net MVC开发基础学习笔记:二、HtmlHelper与扩展方法

    (这下终于知道,为什么可以在页面中使用Html.xxxx()了) ?   那么这个HtmlHelper类又是一个什么类型的大神呢?...但是在第二版中,我们的路由规则也变成了{controller}-{action}-{id},那么我们刚刚为超链接所设置的href便都无法正常访问了。...这时,我们需要进行替换,单个替换或批量替换(例如改为:),虽然也可以解决问题,但是无疑增加了工作量,效率很低。   ...但是,某些时候如果我们需要输出Html或JavaScript内容的字符串,这时我们可以使用HtmlHelper为我们提供的其他方法。...CheckBox();   (3)this关键字   可以从方法名定义中看出,第一个参数都是this HtmlHelper htmlHelper,代表HtmlHelper类的扩展; 3.3 自定义扩展方法

    70120

    转载:python的编码处理(一)

    一个陷阱是有关标准输出的。  刚刚怎么来着?我一直说要设置正确的 linux $LANG 环境变量。那么,设置错误的 $LANG,比如 zh_CN.GBK 怎样?...u = u'关关雎鸠' # 输出 str 字符串, 显示是乱码 print s # 鍏冲叧闆庨笭 # 输出 unicode 字符串显示正确 print u # 关关雎鸠 为什么是 unicode...u = u'关关雎鸠' # 输出 unicode 字符串显示正确 print u # 关关雎鸠 但是,这里有 陷阱二:一旦你的 Python 代码是用管道 / 子进程方式运行,sys.stdout.encoding...u = u'关关雎鸠' # 输出 unicode 字符串显示正确 print u # 关关雎鸠 这个方法仍然有个副作用:直接输出中文 str 失败,因为 codecs 模块的 writer 与...有些模块,例如 json,直接返回 unicode 类型的字符串,让你的 % 运算需要进行字符解码而失败。而有些直接返回 str, 你需要知道它们的真实编码,特别是在 print 的时候。

    72320

    37个JavaScript基本面试问题和解答(建议收藏)

    当试图删除一个不可配置的属性时,非严格代码将自动失败,而在这种情况下,严格模式引发错误。 6、考虑下面的两个函数。他们都会返回同样的值吗?为什么或者为什么不?...理想情况下,具有未设置键的JavaScript对象执行的查找评估为未定义。但是运行这段代码会将这些属性标记为对象的“自己的属性”。 这是确保对象具有一组给定属性的有用策略。...因此,当arr2做任何事情时(即,当我们调用arr2.push(arr3);)时,arr1也会受到影响,因为arr1和arr2只是同一个对象的引用。...结果,下一个操作现在是1 + 2,当然这会产生3.但是,我们有一个数字和一个字符串之间的操作(即3和“2”),所以JavaScript再次转换数值赋给一个字符串并执行字符串连接,产生“32”。...在X && Y形式的表达式中,首先评估X并将其解释为布尔值。如果此布尔值为false,则返回false(0)并且不评估Y,因为“and”条件已失败

    3K10
    领券