【问题标题】:Input name attribute in razor在剃刀中输入名称属性
【发布时间】:2011-10-10 15:18:00
【问题描述】:

我正在尝试将 MVC2 中的以下输入名称属性转换为 razor 中的等效项。

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

我正在使用剃须刀

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

但它在抱怨,因为它说“字符串”不包含“日”的定义,并且找不到接受“字符串”类型的第一个参数的扩展方法“日””。该属性是一个日期时间属性,以上适用于 MVC2。

非常感谢任何帮助。

【问题讨论】:

    标签: asp.net-mvc-3 attributes razor


    【解决方案1】:

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

    注意方法调用主要部分周围的()。这告诉解析器只包含要编译的() 中的元素。其他任何内容都将被忽略。这是必要的原因是因为您的 sn-p 的 .Day 部分看起来像对编译器的属性调用,并且被视为这样。

    【讨论】:

    • 谢谢,我明天试试。
    【解决方案2】:

    看看这是否有效:@ViewData.TemplateInfo.GetFullHtmlFieldName("Day")

    另一方面,你想做什么?

    【讨论】:

      【解决方案3】:

      使用以下内容:

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

      【讨论】:

        猜你喜欢
        • 2015-03-31
        • 2017-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-14
        • 2015-08-26
        • 2019-05-26
        • 1970-01-01
        相关资源
        最近更新 更多