我有两个图像按钮,我想用作提交按钮。以前我只有一个,这是完美的工作,但是在添加第二个之后,我一直在努力让它发挥作用。实际上我想要的是一般保存按钮,然后是另一个执行不同命令。
我一直在环顾四周,从视图传递到控制器的“命令”的使用似乎是要走的路,并且肯定适用于标准的提交输入元素,但是对于图像它不通过通过命令值。
我的内容如下:
查看按钮:
<input type="image" name="Command" value="Save" title="Save Changes" src="~/Content/Images/Save.png" border="0" alt="Save Changes" id="Save" class="Toolbar-Icon" />
<input type="image" name="Command" value="SignOff" title="Sign Off" src="~/Content/Images/Sign-Off.png" border="0" alt="Sign Off" id="SignOff" class="Toolbar-Icon" />
控制器代码:
[HttpPost]
public ActionResult Edit(tblfault tblfault, string command)
{
if (command == "Save")
{
/*Code*/
}
else if (command == "SignOff")
{
/*Code*/
}
}
有没有办法让命令值传递到控制器,或者我必须使用不同的选项,因为我正在使用图像按钮?
答案 0 :(得分:1)
<input type='hidden' name="command" id="command"/>
以您的形式提供
然后你的图像就像
一样<input type="image" name="Command" value="Save" data-id='Save' title="Save Changes" src="~/Content/Images/Save.png" border="0" alt="Save Changes" id="Save" class="Toolbar-Icon" onclick="submitInfo(this);" />
<input type="image" name="Command" data-id='SignOff' value="SignOff" title="Sign Off" src="~/Content/Images/Sign-Off.png" border="0" alt="Sign Off" id="SignOff" class="Toolbar-Icon" onclick="submitInfo(this);" />
和Javascript函数
<script>
function submitInfo(ele)
{
$('#command').val($(ele).attr('data-id'));
$('form').submit();
}
</script>
通过这种方式,您还可以将具有隐藏字段值的分隔发布到控制器。