asp.net-mvc – 动态加载部分视图

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 动态加载部分视图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于一个项目,我需要一种动态的加载部分视图的方法,最好是通过 jquery / ajax.

以下是我需要的功能

>用户输入表单.显示一个下拉列表,并使用一些输入控件呈现通用的部分视图.
>用户在下拉列表中选择不同的值
>部分视图刷新.根据下拉列表的值,它应该加载部分视图.某些值具有与它们相关联的自定义视图(我可以使用主键来命名它们),而另一些则没有.当没有自定义视图;它应该加载默认值.当有一个,它当然应该加载定制的.

所有这些都应该在可能的情况下进行评估.

我已经阅读了关于动态加载部分内容的一些事情,但是我想转载整个案例,所以我可以找到这个具体案例的最佳解决方案.

解决方法

假设你有一个下拉列表:
@Html.DropDownListFor(
    x => x.ItemId,new SelectList(Model.Items,"Value","Text"),new { 
        id = "myddl",data_url = Url.Action("Foo","SomeController")
    }
)

您可以订阅此下拉列表的.change()事件,并向控制器操作发送一个AJAX请求,该操作将返回一个部分并将结果注入到DOM中:

<script type="text/javascript">

$(function() {
   $('#myddl').change(function() {
       var url = $(this).data('url');
       var value = $(this).val();
       $('#result').load(url,{ value: value })
    });
});

</script>

并将DIV标签放在您希望在主机视图中呈现部分视图的位置:

<div id="result"></div>

在Foo动作中,您可以返回部分视图:

public ActionResult Foo(string value)
{
    SomeModel model = ...
    return PartialView(model);
}

猜你在找的asp.Net相关文章