我有以下代码
@Html.DropDownList("optionsforuser", new SelectList(new[] { "Option1", "Option2" }), "Select")
现在我想从控制器调用一个方法来传递用户选择的任何选项。有什么想法可以做到吗?
答案 0 :(得分:2)
由于MVC 3附带jQuery,因为它是首选的javascript库,你可以在整篇文章中执行以下操作:
$('optionsforuser').on('change', function() {
$(this).closest('form').submit();
});
或者如果您希望异步:
$('optionsforuser').on('change', function() {
var form = $(this).closest('form');
$.post('urihere', form.serialize());
});
<强>更新强>
或者在完成时与回调异步:
Or if you wish to go asynchronous:
$('optionsforuser').on('change', function() {
var form = $(this).closest('form');
$.ajax({
type: 'POST',
url: 'urlHere',
data: form.serialize(),
complete: function(jqXHR, textStatus) {
// Your callback code here
}
});
});
答案 1 :(得分:1)
使用jquery附加一个事件处理程序,该jquery在更改时执行ajax调用。
$("#optionsforuser").bind("change", function() {
// call you controller with jquery ajax.
$(this).val() // this is the selected value
});
查看this