從控制器動作,你要撥打電話以同樣的方式:
<%= Html.DropDownList(ddl, ViewData["items"] as SelectList, new { onchange = string.format("doSomething({0}); return false;", action) }) %>
一旦你這樣做,把一個Javascript功能,你的頁面調用該方法上。但是,如何調用它將取決於它是否是AJAX調用。也就是說,你是否想要一個往返的頁面。對於非AJAX調用:
function doSomething(action) {
window.location.href = action;
}
如果它是一個AJAX調用:
function doSomething(action) {
$.load(action);
}
傳遞參數給動作,你只需要確保所有的數據元素,你想傳遞包含在<form>
標記中。例如,假設您想在您的下拉列表中包含名字和姓氏。在視圖中,你會做這樣的事情:
<%= using (Html.BeginForm())
{ %>
<table>
<tr>
<td>First Name:</td>
<td><%= Html.TextBox("FirstName") %></td>
</tr>
<tr>
<td>Last Name:</td>
<td><%= Html.TextBox("LastName") %></td>
</tr>
<tr>
<td>Assign to:</td>
<td><%= Html.DropDownList(ddl, ViewData["items"] as SelectList,
new { onchange = string.format("doSomething({0}); return false;", ViewData["action"]) }) %></td>
<tr>
</table>
<% } %>
在JavaScript函數:
function doSomething(action) {
var firstName = $('#FirstName').val();
var lastName = $('#LastName').val();
$.load(action, { first: firstName, last: lastName });
}
美麗!!!!!! – Seva 2015-03-31 13:58:53