如何将dropdownlist选择的值调用为@html.action路由值。 我在我的MVC3剃须刀中使用以下代码。我必须动态调用'eventid'作为下拉列表选择值。
@Html.Action("FirmPassForum", "Conference", new { eventId = 69 })
答案 0 :(得分:7)
你不能这样做,因为Html.Action助手会在服务器上呈现,而下拉选择可能会在客户端上发生变化。一种可能性是使用AJAX调用。所以基本上你可以订阅下拉列表的.change()
事件,并向一些控制器动作发送AJAX调用,该动作将返回部分视图并更新DOM。
首先将其放入容器中:
<div id="container">
@Html.Action("FirmPassForum", "Conference", new { eventId = 69 })
</div>
然后:
<script type="text/javascript">
$(function() {
$('#id-of-your-dropdown').change(function() {
var eventId = $(this).val();
$.ajax({
url: '@Url.Action("FirmPassForum", "Conference")',
type: 'GET',
data: { eventId: eventId },
cache: false,
success: function(result) {
$('#container').html(result);
}
});
});
});
</script>
如果要使用FirmPassForum
属性装饰 <{1}},请执行此操作:
[ChildActionOnly]
答案 1 :(得分:0)
您也可以使用
`//var url = '@Url.Action("ActionName", "Controller")';
$.post("/Controller/ActionName?para1=" + data, function (result) {
$("#" + data).html(result);
............. Your code
});`