c# - 匿名类型的 Asp.net WebForms 错误

标签 c# asp.net types webforms anonymous

请帮助我!我在使用 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/

相关文章:

types - 如何将自定义类型调用函数泛化为抽象类型?

python - `type` 真的是一个函数吗?

c# - 公共(public)语言运行时无法设置断点

javascript - 第一次加载谷歌图表时,垂直轴标签没有出现

javascript - 如何在通过 Ajax.ActionLink 调用的动态加载的 ASP.NET MVC 部分 View 上初始化 jsTree

c# - 删除项目类型 GUID <ProjectTypeGuid>

c# - 编译器选择了错误的重载

file - 如何重置/清除文件输入

c# - 如何使用类型调用 default(T)?

c# - 为 Asp.net Web 应用程序设置安装补丁