有没有什么办法来检查哪个按钮是在控制器动作中回发的。 我的问题是我使用两个没有名称属性的按钮。 如何检查已单击的按钮时,按钮没有名称属性 请指点MVC asp.net多个按钮没有名字
编辑:由于我使用的内部框架在创建按钮控件,我不能给name属性,他们没有名字属性。 所以有没有其他的选择。
我知道有一个办法把这些按钮在不同形式的标签,但我想看看不同的感谢
有没有什么办法来检查哪个按钮是在控制器动作中回发的。 我的问题是我使用两个没有名称属性的按钮。 如何检查已单击的按钮时,按钮没有名称属性 请指点MVC asp.net多个按钮没有名字
编辑:由于我使用的内部框架在创建按钮控件,我不能给name属性,他们没有名字属性。 所以有没有其他的选择。
我知道有一个办法把这些按钮在不同形式的标签,但我想看看不同的感谢
选项,如果你可以给你的按钮的名称属性,你可以简单地做..
<input ... name="MyBtn" .../>
If (Request.Form["MyBtn"] != null) ...
MVC会为您检查。提交按钮连接到与视图具有相同名称的操作。
<% using (Html.BeginForm()) {%>
<fieldset>
<legend>Fields</legend>
<p>
<label for="Id">Id:</label>
<%= Html.TextBox("Id") %>
<%= Html.ValidationMessage("Id", "*") %>
</p>
<p>
<label for="Thema">Thema:</label>
<%= Html.TextBox("Thema") %>
<%= Html.ValidationMessage("Thema", "*") %>
</p>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
<% } %>
在您使用控制器HttpVerbs对于GET和邮政
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Add()
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Add(ThemaWebSites thema)
{
return View(thema);
}
您可以使用ID属性,如果你不希望使用一个名称,然后使用“值”属性:
<button type="submit" name="action" value="OK" /> <button type="submit" name="action" value="Cancel" />
你需要一个名字,否则将无法在Request.Form
或FormCollection
出现了,你将无法访问该值。
编辑:如果你真的不能使用的名称或ID属性,你可能会被迫使每个按钮设置在其onclick
事件的隐藏字段的值,使用一些JavaScript弄虚作假......
感谢您的回复,但我不能给名称属性 – batwadi 2009-11-25 20:22:12
我有点好奇,知道为什么不?有什么限制? – 2009-11-25 20:33:58
要回答你的问题,没有办法检查哪个按钮导致表单提交而没有给它一个唯一的名称。
为什么你不能给你的按钮一个名称属性? – Rippo 2009-11-25 20:08:56