【问题标题】:Named arguments in BeginForm overload of MVC 4MVC 4 的 BeginForm 重载中的命名参数
【发布时间】:2013-10-07 10:34:47
【问题描述】:

我看到BeginForm 方法的重载,它具有以下签名:

(扩展) MvcForm HtmlHelper.BeginForm(string actionName, string ControllerName, FormMethod 方法)

我在调用时使用named-arguments

@using (Html.BeginForm(actionName:"Index", controllerName:"Home", FormMethod.Get))

但是,我不断收到这样的错误:

CS1738: Named argument specifications must appear after all fixed arguments have been specified

任何想法我哪里出错了?

谢谢。

【问题讨论】:

    标签: c# asp.net-mvc-4 .net-4.0 arguments


    【解决方案1】:

    您还需要为最后一个参数指定参数名称:

    @using (Html.BeginForm(actionName:"Index", controllerName:"Home", method:FormMethod.Get))
    //                                                                  ↖ parameter name
    

    【讨论】:

    • 我试过了,我得到“CS1739:'BeginForm' 的最佳重载没有名为'FormMethod' 的参数”
    • 道歉;它应该是 method 而不是 FormMethod
    • 很好,工作。谢谢。但是你是怎么想出来的?我试过FormMethod:,但从来没有成功过。您是否经过了所有的智能感知并发现了?想知道你们怎么这么快。
    • 不,我实际上只阅读了您在问题开头给出的签名。每个参数声明由其类型(例如FormMethod)和其名称(例如name)组成。指定命名参数时,您可以使用两者中的后者。这适用于任何方法签名。
    • 谢谢。说得通。不过答案很好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    相关资源
    最近更新 更多