ASP.NET BeginForm()表达式语法

Der*_*ess 2 asp.net-mvc lambda

我想使用ASP.NET MVC的Html.BeginForm的基于表达式的语法(例如Html.BeginForm <HomeController>(a => a.ActionForSubmit();)来提高它的可测试性.

我不清楚在相应的动作有参数的地方该做什么.例如,我有一个仅限HTTP POST的登录操作,它有两个参数:用户名和密码.

如果我使用基于表达式的语法,我最终得到Html.BeginForm <MyAccountController>(a => a.Login(null null)); - 对于BeginForm表达式,空对(对于动作签名是必需的)对我来说似乎超级丰富.我是否错误地指定了表达式?

如果相应的操作是采用FormCollection实例,那么它如何与表达式一起使用?

谢谢,德里克.

Cha*_*ran 5

您可以直接传入,string.Empty并在发布表单时填写.

我不会传入null.它会发生什么呢?它会接受你首先传递给表达式的内容,然后用发布的表单中的任何内容覆盖它.我发现使用string.Empty而不是null是最佳做法.