2011-10-10 31 views
1

我试图将MVC2中的以下输入名称属性转换为剃须刀中的等效属性。剃须刀中的输入名称属性

name="<%=ViewData.TemplateInfo.GetFullHtmlFieldName(String.Empty)%>.Day" 

在剃刀我使用

name="@ViewData.TemplateInfo.GetFullHtmlFieldName(String.Empty).Day"

却是抱怨,因为它是说:“串”不包含定义‘日’,没有扩展方法‘日’接受可以找到'string'类型的第一个参数“。该属性是一个日期时间属性,上述工作在MVC2中。

任何帮助非常感谢。

回答

3

@(ViewData.TemplateInfo.GetFullHtmlFieldName(String.Empty)).Day

通知()方法调用的主要部分的周围。这告诉解析器只包含那些要被编译的()中的元素。其他任何被忽略。这是必要的原因是因为你的片段的.Day部分看起来像一个属性调用编译器,并被视为这样。

+0

谢谢,明天我会试试。 – doogdeb

+0

这个技巧。谢谢。 – doogdeb

0

见这是否工作:@ViewData.TemplateInfo.GetFullHtmlFieldName("Day")

在其他的音符,你想干什么?

0

使用以下:

name="@(ViewData.TemplateInfo.GetFullHtmlFieldName(String.Empty) + ".Day")"