2016-09-13 5 views
0

送信ボタンとして使用したい画像ボタンが2つあります。以前は私は1つしか持っていませんでしたが、それは完璧に動作していますが、2番目のものを追加した後、私はそれを動作させるのに苦労していました。効果的に私がしたいのは、一般的な保存ボタン、そして別のコマンドを実行する別のボタンです。MVC複数の画像送信ボタン

私は周りを見ていて、ビューからコントローラーに渡される "コマンド"の使用は、行く方法と思われ、間違いなく標準のサブミット入力エレメントで動作しますが、イメージはありませんコマンド値を渡します。

私は何を持っていることは以下の通りです:

表示ボタン:

<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*/ 
     } 
    } 

に渡すための指令値を取得する方法がありますコントローラ、または私はイメージボタンを使用しているので別のオプションを使用する必要がありますか?

答えて

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> 

のようにそれを持っているそして、あなたのイメージのために、あなたも持つことができ、あなたの形で

それを持っています隠されたフィールド値を持つ分離がコントローラに送信されます。

+0

魅力のように動作します、ありがとう! –

関連する問題