操作方法参数设置为提交按钮的值
Action method parameter set to value of submit button
这是我被要求查看的一些遗留 ASP.NET MVC3 代码。除了模型之外,它还有一个带有两个字符串参数的动作方法。
public ActionResult RequestUsername(StaffModel model, string request = null, string clear = null)
调用它的表单有两个提交按钮:
<input type="submit" class="button" title="Request username" value="Request Username" name="request" />
<input type="submit" class="button" title="Clear form" value="Clear" name="clear" />
如果我单击第一个,则会设置名为 'request' 的方法参数(到 "request")。如果单击第二个按钮,则会设置名为 'clear' 的方法参数(设置为 "clear")。我看不到任何可以执行此操作的自定义代码,所以我认为它一定是框架中的东西。
我的问题是:单击按钮的名称属性与操作参数之间的映射是什么?
谢谢
MVC 模型绑定过程在发布的表单值和操作方法的参数之间进行映射。
有一个名为 DefaultModelBinder
的内置默认值 class 在正常情况下会执行此操作,但如果您 want.The DefaultModelBinder class 可以将表单数据映射到 String、Int、Decimal、Double 或 DateTime 或您的自定义 class 对象。
要记住的重要一点是表单字段的名称应该与操作方法参数的名称相匹配 模型绑定器才能工作。在您的情况下,您的提交按钮名称与操作方法参数名称相匹配。
这是我被要求查看的一些遗留 ASP.NET MVC3 代码。除了模型之外,它还有一个带有两个字符串参数的动作方法。
public ActionResult RequestUsername(StaffModel model, string request = null, string clear = null)
调用它的表单有两个提交按钮:
<input type="submit" class="button" title="Request username" value="Request Username" name="request" />
<input type="submit" class="button" title="Clear form" value="Clear" name="clear" />
如果我单击第一个,则会设置名为 'request' 的方法参数(到 "request")。如果单击第二个按钮,则会设置名为 'clear' 的方法参数(设置为 "clear")。我看不到任何可以执行此操作的自定义代码,所以我认为它一定是框架中的东西。
我的问题是:单击按钮的名称属性与操作参数之间的映射是什么?
谢谢
MVC 模型绑定过程在发布的表单值和操作方法的参数之间进行映射。
有一个名为 DefaultModelBinder
的内置默认值 class 在正常情况下会执行此操作,但如果您 want.The DefaultModelBinder class 可以将表单数据映射到 String、Int、Decimal、Double 或 DateTime 或您的自定义 class 对象。
要记住的重要一点是表单字段的名称应该与操作方法参数的名称相匹配 模型绑定器才能工作。在您的情况下,您的提交按钮名称与操作方法参数名称相匹配。