加载ASP.NET MVC中复选框checkevent的视图

时间:2014-11-19 07:08:28

标签: c# asp.net-mvc checkbox renderpartial

在ASP.NET MVC视图中,我有复选框控件

@Html.CheckBoxFor(
    model => model.ServiceListDetails.IsCargoLiquidCall, 
    new { id = "chkCargoLiquid"}
) Cargo Call (Liquid)

 @Html.CheckBoxFor(
    model => model.ServiceListDetails.IsCargoDryCall, 
    new { id = "chkCargoDry"}
) Cargo Call (Dry)

.....还有五个复选框。 在每个复选框的复选框选中事件时,我需要'RenderAction'到fieldset,在

下面
<fieldset>
@{Html.RenderAction("_CargoCalLiquid", "Services");}
</fieldset>

<fieldset>
 @{Html.RenderAction("_CargoCalDry", "Services");}
</fieldset>

这是在加载视图时发生的,但同样需要花费大量时间来加载,因为每种类型和相应的服务列表都有七个复选框。

所以,当点击复选框时,只有它应该加载.. 如何实现这一目标?

我尝试了以下,但没有工作..我是MVC的新手,或者有没有办法加载相同的数据网格控件,这样做会花费更少的时间..

请欣赏帮助..

1 个答案:

答案 0 :(得分:0)

使用javascript / jquery事件和ajax调用

有些事情如下

 @Html.CheckBoxFor(
        model => model.ServiceListDetails.IsCargoLiquidCall, 
        new { id = "chkCargoLiquid",onchange="RenderService()"}
    )
    <div id="TargetID"><div/>

    <script>
    function RenderService(){
           $.ajax({
                 type: "POST",
                 url: '@Url.Content("~/Services/_CargoCalLiquid")',
                 success: function(result) {
                    $('#TargetID').html(html);

                 },
                 error: function(msg) {
                     alert("failed");
                 }
             });
    }
    <script/>

希望这可以帮到你