使用多个参数刷新局部视图

时间:2013-05-08 11:10:10

标签: c# jquery asp.net-mvc razor

您好我正在尝试使用多个参数刷新部分视图。我有它使用一个参数。如何使用多个参数。这是代码,我到目前为止。 VIEW

@{
    ViewBag.Title = "Report";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<script type="text/javascript">
    $(document).ready(function () {

        $("#serviceLine").change(function () {
            var url = "/Home/PartialView1?serviceLine=" + $(this).val();
            alert(url);
            $("#reportContent").load(url);
        }); 

        $("#ClientID").change(function(){
            var url = "/Home/PartialView1?ClientID=" + $(this).val();
            alert(url);
            $("#reportContent").load(url);
        });
    });
</script>

<h3>Report</h3>
<div>
    <table>
        <tr>
            <td>Client</td>
            <td>@Html.DropDownList("ClientList", null, new {id = "ClientID"})</td>
            <td>ServiceLine</td>
            <td>@Html.DropDownList("ServiceLine", null, new {id="serviceLine"}) </td>
</td>
        </tr>
    </table>
</div>
<div>
    <h2>List</h2>
    <div id="reportContent">
        @Html.Action("PartialView1", new { clientID = 0, serviceLine = "_" })
    </div>
</div>

CONTROLLER

public ActionResult PartialView1(int clientID, char serviceLine)
        {
            //Login

            return PartialView();
        }

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

$.ajax({
    url: "Home/PartialView1",
    type: 'POST',
    data: { "clientID": myclientId, "serviceLine" : myServiceLine }
}).done(function (data) {
    div("#reportContent").html(data);
});

将所有参数放在data属性中。

答案 1 :(得分:0)

您可以使用jQuery ajax方法并填充success方法的结果。类似的东西:

$.ajax({
    url: "@Url.Action("PartialView1", "Home")",
    type: "POST",
    data: { clientID: $("#ClientID").val(), serviceLine: $("#serviceLine").val() },
    success: function (result) {
        $("#reportContent").html(data);
    }
});