动态加载的局部视图 [英] Dynamically load Partial Views

查看:102
本文介绍了动态加载的局部视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何可以动态加载的局部视图?

How can i dynamically load a Partial View?

我的意思是我有这种说法,可以说 ListProducts ,有我选择一些dropdownlists与产品等,并与这些我想选择的值填充的局部视图,这将是一个div,这是无形的,但在的onchange()事件将变得可见,从具体所选项目的数据。

I mean I have this view, lets say ListProducts, there I select some dropdownlists with products, etc, and with the selected values from those I wanna fill a partial view, which would be in a div that was invisible but after onchange() event would become visible and with the data from the specific selected items.

推荐答案

使用jQuery的 $ .load()与控制器行动,返回的局部视图。结果
例如:

Use jQuery's $.load() with a controller action that returns a partial view.
For example:

<script type="text/javascript">
$(document).ready(function()
{
    $("#yourselect").onchange(function()
    {
        // Home is your controller, Index is your action name
        $("#yourdiv").load("@Url.Action("Index","Home")", { 'id' : '123' }, 
                                        function (response, status, xhr)
        {
            if (status == "error")
            {
                alert("An error occurred while loading the results.");
            }
        });
    });
});
</script>

<div id="yourdiv">
</div>

控制器

public virtual ActionResult Index(string id)
{
    var myModel = GetSomeData();
    return Partial(myModel);
}

查看

@model IEnumerable<YourObjects>

@if (Model == null || Model.Count() == 0)
{
    <p>No results found</p>
}
else
{
    <ul>
    @foreach (YourObjects myobject in Model)
    {
        <li>@myObject.Name</li>
    }
    </ul>
}

这篇关于动态加载的局部视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆