ASP.NET BeginForm()表达式语法

时间:2009-05-05 15:04:26

标签: 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实例,那么它如何与表达式一起使用?

谢谢, 德里克。

1 个答案:

答案 0 :(得分:5)

您可以传递string.Empty,并在发布表单时填写。

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