asp.net mvc に 3 つのハイパーリンク タグがあるとします。各タグには一意の id 属性があります。選択したハイパーリンクの id 属性の値をコントローラにポストするにはどうすればよいですか?
ハイパーリンクは次のようになります。
<a href="#" id="1" onclick="jQuery('#dialog').dialog('open'); return false; ">A</a>
<a href="#" id="2" onclick="jQuery('#dialog').dialog('open'); return false; ">B</a>
<a href="#" id="3" onclick="jQuery('#dialog').dialog('open'); return false; ">C</a>
ダイアログは、画像をアップロードしてコントローラーに送信するためのフォームを開くだけです。
<script type="text/javascript">
$(function () {
$("#dialog").dialog({
bgiframe: true,
height: 170,
modal: true,
autoOpen: false,
resizable: false
})
});
およびコントローラーメソッドの呼び出し:
<div id="dialog" title="A" >
<% using (Html.BeginForm("myMethod", "Controller", new { @Id = Model.Id }, FormMethod.Post, new { enctype = "multipart/form-data" }))
{%>
<p><input type="file" id="fileUpload" name="fileUpload" style="width:23;"/> </p>
<p><input type="submit" value="B" /></p>
<% } %>
</div>
Idを送るだけでいいというわけではありません。ただし、別のハイパーリンクが選択されている場合は、別のパラメーターを送信して、どちらが選択されているかを判断する必要があります。