【问题标题】:Load a certain partial view depending on URL parameter using mvc3 and jQuery使用 mvc3 和 jQuery 根据 URL 参数加载某个局部视图
【发布时间】:2012-03-15 03:54:53
【问题描述】:

我想要一个名为 Example 的视图,并且能够更新不同的部分视图并将其加载到一个 html div 标记中。在下面的情况下,如果 URL 参数是 id,我希望页面显示部分详细信息;如果 URL 参数是搜索,我希望页面显示结果网格。

可选网址参数: ..../示例?id=1234 ..../Example?search=ccc

用户将传入上述之一,_details.cshtml 或 _grid.cshtml 将更新下面的详细信息 div。

Example.cshtml 中的 Div 标签

<div id="Details"></div>

我只是被困在这个部分视图过滤将发生的地方,jquery 还是在控制器中?

任何帮助将不胜感激。

【问题讨论】:

    标签: c# jquery asp.net-mvc-3


    【解决方案1】:

    您的控制器应该将视图模型传递给视图。此视图模型可以部分加载:

    public class MyViewModel
    {
        public string DetailsPartial { get; set; }
    }
    

    然后根据 id 或搜索参数的存在,控制器将填充此属性:

    public ActionResult Index(int? id, string search)
    {
        var model = new MyViewModel
        {
            DetailsPartial = (id != null) ? "_details" : "_grid"
        }; 
        return View(model);
    }
    

    并在相应的视图中:

    @model MyViewModel
    ...
    <div id="Details">
        @Html.Partial(Model.DetailsPartial)
    </div>
    

    【讨论】:

    • 感谢您的快速回复,让我试试看。
    猜你喜欢
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多