Asp.net mvc ASP.NET BeginForm()表达式语法

Asp.net mvc ASP.NET BeginForm()表达式语法,asp.net-mvc,lambda,Asp.net Mvc,Lambda,我想对ASP.NET MVC的Html.BeginForm(例如Html.BeginForm(a=>a.ActionForSubmit();)使用基于表达式的语法,以增强其可测试性 我不清楚在相应的操作有参数的地方该怎么做。例如,我有一个登录操作,它只有HTTP POST,有两个参数:用户名和密码 如果我使用基于表达式的语法,我最终会得到Html.BeginForm(a=>a.Login(null));-对于BeginForm表达式,null对(根据操作签名所需)似乎非常有用。我是否指定了错误的

我想对ASP.NET MVC的Html.BeginForm(例如Html.BeginForm(a=>a.ActionForSubmit();)使用基于表达式的语法,以增强其可测试性

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

如果我使用基于表达式的语法,我最终会得到Html.BeginForm(a=>a.Login(null));-对于BeginForm表达式,null对(根据操作签名所需)似乎非常有用。我是否指定了错误的表达式

如果相应的操作是获取FormCollection实例,那么该操作如何处理表达式

谢谢,
德里克。

你只需输入
string.Empty
,然后在你发布表单时填写


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

谢谢Chad。我猜这就是答案,可惜这让事情变得有点糟糕。