当前位置 : 主页 > 网络编程 > ASP >

asp.net-mvc – 调用dropdownlist选择的值为@html.action路由值

来源:互联网 收集:自由互联 发布时间:2021-06-24
如何将dropdownlist选择的值称为@html.action路由值. 我在我的MVC3剃须刀中使用以下代码.我必须动态调用’eventid’作为dropdownlist选择值. @Html.Action("FirmPassForum", "Conference", new { eventId = 69 }) 你不
如何将dropdownlist选择的值称为@html.action路由值.
我在我的MVC3剃须刀中使用以下代码.我必须动态调用’eventid’作为dropdownlist选择值.

@Html.Action("FirmPassForum", "Conference", new { eventId = 69 })
你不能这样做,因为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操作不应使用[ChildActionOnly]属性进行修饰:

public ActionResult FirmPassForum(int eventId)
{
    MyViewModel model = ...
    return PartialView(model);
}
网友评论