我在ASP.NET MVC(v1)中有一个表单,它有2个输入按钮.每个提交按钮必须包含在这个单一的表单中,我需要知道用户按下了哪一个.
我知道检查FormCollection值的技巧,它将根据按下的按钮返回.例如,如果我有和用户单击Button2,我应该可以说Request.Form ["Button2"]!= null并且将评估为true,在这种情况下,我知道用户单击了该按钮.
但是,这对我不起作用.我的所有按钮的值都为null,因为它们中的不包含在Request.Form值中.ASP.NET MVC中是否存在吞下这些值的错误?
这是我的表单代码:
<% using (Html.BeginForm()) {%>
<% Html.RenderPartial( "EditAreaControl", Model ); %>
<div class="form-layout-command-container">
<div class="form-layout-command-area-alpha"><button type="submit" name="submit1" value="Save">Save</button></div>
<div class="form-layout-command-area-alpha"><button type="submit" name="submit2" value="SaveAndCopy">Save and Create Copy</button></div>
<div class="form-layout-command-area-beta"><%= Html.ActionLink("Cancel", "list") %></div>
</div>
<% } %>
Run Code Online (Sandbox Code Playgroud)
这是我的控制器代码:
[AcceptVerbs( HttpVerbs.Post )]
public ActionResult Add(FormCollection values )
{
if (values["submit1"] != null)
// always false
if (values["submit2"] != null)
// always false as well
}
Run Code Online (Sandbox Code Playgroud)
来自w3schools:
重要提示:如果您在HTML表单中使用button元素,则不同的浏览器将提交不同的值.Internet Explorer将在和标签之间提交文本,而其他浏览器将提交value属性的内容.使用input元素在HTML表单中创建按钮.
看来这不是标准化的.你应该坚持下去
<input type="submit" name="submitButton" value="Save" />
<input type="submit" name="submitButton" value="Cancel" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2097 次 |
| 最近记录: |