请帮助我!我在使用 Visual Studio 2008 的 Asp.net/WebForms 中遇到匿名类型的奇怪问题。 在页面标记中,这会生成“Type Expected”错误(仅作为示例):
<%=new { property = "somevalue" }.ToString() %>
甚至
<%var x = new { property = "somevalue" };
Response.Write(x.ToString()); %>
如果我把它放在一个方法中,效果很好:
<%=ShowIt() %>
...在代码隐藏中...
public string ShowIt()
{ return new { property = "somevalue" }.ToString(); }
如何才能让 Web 表单识别匿名类型/语法?
我尝试过谷歌。
请注意:我知道上面的代码不是一个好的做法。我似乎无法在这个项目的标记中使用匿名类型。 IE:甚至作为参数传递:
<%=ShowIt(new { prop1 = "a", prop2 = 2 }) %>
似乎不起作用。
最佳答案
对我来说,以下内容:
<%= new { property = "somevalue" }.ToString() %>
输出匿名类型的结构:
{ property = somevalue }
您是否正在尝试输出“property”的值?
如果是这样,请使用以下内容:
<%= new { property = "somevalue" }.property.ToString() %>
无论哪种方式,正如 Smudge202 上面所说,您确实应该使用代码隐藏方法,因为您可以使用良好的方法名称使标记自记录。
关于c# - 匿名类型的 Asp.net WebForms 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7134605/