jqueryをあまり使用できないので、助けが必要です。私はここのようなjQueryUIダイアログを使用しています。部分ビューがレンダリングされるダイアログを開くリンクがあります。
$(function () {
$("#transferTo").dialog({
autoOpen: false,
height: 100,
width: 300,
modal: true,
resizable: false,
open: function (event, ui) {
$(this).load('<%= Url.Action("TransferTo", "Pacient") %>');
},
buttons:
{
"Transfer": function () {
// do something in database
$(this).dialog("close");
},
"Cancel": function () {
$(this).dialog("close");
}
}
});
$("#transferToLink").click(function () {
$("#transferTo").dialog("open");
return false;
});
});
<a href="javascript:void()" id="transferToLink">Transfer to</a>
部分ビューは次のようになります。
<div id="transferTo">
Zmena kliniky
<%= Html.DropDownList("klinika", ViewData["kliniky"] as SelectList)%>
</div>
メインビューには、いくつかのデータを含む行があります。各行は自分のIDを持つユーザーです。だから私がやりたいこと...
リンクtransferToをクリックすると(各行の[編集]リンクをクリックすると表示されます)、ユーザーのIDをjquery関数に渡し、ダイアログのClickイベントTransferToで使用する必要があります。ユーザーがダイアログのTransferToボタンをクリックすると、ダイアログのドロップダウンリストからidパラメーターと選択された値を取得し、データベースと通信するC#関数で使用する必要があります(repository.Edit(id、selectedValue))