首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ViewData在ViewData字符串中

ViewData在ViewData字符串中
EN

Stack Overflow用户
提问于 2015-05-07 15:15:00
回答 1查看 164关注 0票数 0

我动态地加载一个表,并且有一个未知的行数。每一行(实际上是每个单元格)都从数据库加载并连接到一个字符串中:

代码语言:javascript
复制
tableItems+="<td colspan='8' class='reportHeaderMain borderThin'> @ViewData[\"" + tString + "Title\"]</td>";

在上面的代码中,tString是项目号,所以标题应该类似于"12345Title“。在控制器ActionResult的后面,我为ViewData项分配了一个值:

代码语言:javascript
复制
ViewData[tString + "Title"] = ((linkedArrayList)tObj[temp]).getInfo("Brand");

在断点期间,所有值都会正确存储,但它在页面上呈现为“@ViewData”.“而不是ViewData值。我猜想这是因为预处理器正在执行一次重覆而不是两次重覆;这是为了编写,它正确地呈现字符串值,但不处理结果字符串(注意:标记正确显示)。这可能是Mono固有的,也可能是因为,在视图中,我使用的是HTML Raw:

代码语言:javascript
复制
@Html.Raw(@ViewData["tableItems"])

我意识到在控制器中生成这样的标记并不是最好的实践,但这正是我正在使用的。有没有人想过如何将字符串中的ViewData呈现为值(例如,品牌名称)而不是“ViewData.”?替代方法是非常受欢迎的,尽管(因为我是MVC新手),如果另一种方法是解决方案,我会礼貌地询问详细信息。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-07 15:57:21

我觉得自己很蠢.我会删除这个问题,但实际上它可能会对MVC的新手有所帮助。如果有人有类似的问题,记住你想要增加价值的地方。只有在控制器中才会出现这种情况,在控制器中,您可以完全访问分配给ViewData的值。例如,如果要将tObj的值分配给ViewBag,然后尝试加载ViewData,只需与tObj连接即可。抱歉浪费你们的时间,伙计们,我学到了一些东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30105186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档