如何通过单选按钮选择在同一个div上加载不同的部分视图?

时间:2014-06-03 07:18:46

标签: ajax asp.net-mvc-4 razor html-helper

enter code here
*MainView.cshtml*: @RadioButtonFor(m=>m.registeras,Individual) @RadioButtonFor(m=>m.registeras,BusinessEntity) <div id="loadpartial"> </div>

我有一个注册表单,用户可以注册为个人商家实体。我保留了两个单选按钮。 如果用户选择单个单选按钮,则应加载该部分视图。如果用户选择业务实体单选按钮,则应在同一个div上加载第二个局部视图。  我是asp.net mvc4 razor的新手。有人可以请提供示例代码

1 个答案:

答案 0 :(得分:2)

您必须使用jQuery才能进行ajax调用。

首先在页面底部引用jQuery。

在控制器中,定义并实现一个返回局部视图的方法。

[HttpGet]
public ActionResult GetRegisterForm(int registeras)
{
    if(registeras == Individual)
    {
        return PartialView("IndividualPartialViewName");
    }
    else
    {
        return PartialView("BusinessPartialViewName");
    }
}

现在在您看来,您可以使用ajax调用上述操作。

<script type="text/javascript">
    $(function(){
        $("[name=registeras]").on('change', function(){
            var $radio = $(this);
            $.ajax({
                url:'@Url.Action("GetRegisterForm", "ControllerName")',
                data: { registeras = $radio.val() }
                type: 'GET',
                success: function(data){
                    $("#loadpartial").html(data);
                }
        });
    });
</script>