如何在单选按钮选择上加载部分视图?

时间:2014-06-03 12:08:44

标签: c# ajax asp.net-mvc-4 razor partial-views

我试图通过依赖单选按钮选择在一个div中加载不同的局部视图。当用户单击“个人”按钮时,应显示部分视图,如果单击“业务”,则应显示“业务部分”视图

我的观看页面代码是

<script type="text/javascript">
    $(function () {
        $("[name=RegesterHere]").on('change', function () {
            var $radio = $(this);

            $.ajax({
                url: '@Url.Action("GetRegisterForm", "Home")',
                data: RegesterHere = $radio.val(),
                type: 'GET',
                success: function (data) {
                    $("#loadpartial").html(data);
                }
            });
        });
    });
</script>

<h2>GetRegisterForm</h2>
<table>

    <tr>
        <td colspan="1">@Html.LabelFor(m => m.RegesterHere)</td>
        <td colspan="2">@Html.RadioButtonFor(m => m.RegesterHere, "Individual") Individual
                          @Html.RadioButtonFor(m => m.RegesterHere, "Business") Business</td>
    </tr>
</table>

<div id="loadpartial">
</div>

我的控制器代码是

[HttpGet]
        public PartialViewResult GetRegisterForm(string RegesterHere)
        {
            if (RegesterHere == "Individual")
            {
                return PartialView("IndividualPartialViewName");
            }
            else
            {
                return PartialView("BusinessPartialViewName");
            }

        }

有人可以帮助我找到错误。当我运行此代码时,它直接显示BusinessPartialName。我无法在输出中看到父视图单选按钮。如果没有选择单选按钮,它会直接在我的页面上加载第二个局部视图。

1 个答案:

答案 0 :(得分:2)

让我们试试下面的AJAX Call。

 var radiobuttonval = $radio.val();

 var isselect = $("input:radio[name=RegesterHere]:checked").val();
             if(isselect !="" || isselect !=undefined){
                 $.get("@Url.Action("GetRegisterForm", "Home")", {RegesterHere : radiobuttonval  }, function (data) {
                        $("#loadpartial").html("");
                        $("#loadpartial").html(data);
                    });


                   }