如何使用ViewBag访问包含特殊字符的ViewData项目?

问题描述

| 一个玩具的例子
ViewData[\"rat\"] = \"Rodent\";
var blaw = ViewBag.rat;

ViewData[\"dig/dug\"] =  \"Game\";
// var blaw2 = Viewbag.dig/dug;
最后一行当然不起作用。如何通过ViewBag访问“挖/挖”?     

解决方法

        只需使用下划线(或其他允许的符号)而不是斜杠。不允许斜线:
ViewData[\"dig_dug\"] =  \"Game\";
由于ViewBag是动态的,因此dig / dug将成为动态对象的属性。 您不能在属性名称中使用某些特殊符号(/,等。):
public string Dig\\Dug {get;set;} // compilation time error