【问题标题】:Partial view not showing in the view in asp.net mvc4部分视图未显示在 asp.net mvc4 的视图中
【发布时间】:2013-09-14 17:47:57
【问题描述】:

我创建了一个视图,我想在其中显示另一个局部视图。以下是我的代码:

控制器

public ActionResult AddToCompare(string id)
    {
        var lst = db.CompareProduct.Where(p => p.CreatedDate.Year == DateTime.Now.Year && p.CreatedDate.Month == DateTime.Now.Month && p.CreatedDate.Day == DateTime.Now.Day).ToList();
        return PartialView(lst);
    }

View.cshtml

<p class="compare">
        @Ajax.ActionLink("Add To Compare", "AddToCompare", new { id = Model.ProductId }, new AjaxOptions { UpdateTargetId = "CompareList" })
    </p>
    <div id="CompareList" class="clear">
        Compare List
    </div>

我还在视图中引用了 jquery.unobtrusive-ajax.min.js,但是当我单击上面的链接时,它会在新页面中打开部分视图,而不是将其显示到同一视图中.

我做错了吗?请帮帮我。

提前谢谢..

【问题讨论】:

    标签: asp.net-mvc-4 partial-views


    【解决方案1】:

    也许是因为你的 js 文件应该是下一种格式

    1 jquery
    2 jquery.unobstrusive
    3 jquery.unobstrusive-ajax
    

    【讨论】:

    • 感谢您的回复。但我在 _Layout.cshtml 文件的 head 标记中引用了所有 3 个 js 文件。但它仍然无法正常工作。
    • 在 ajaxoption 中添加新字段:InsertionMode = InsertionMode.Replace
    【解决方案2】:

    感谢大家的帮助。

    我找到了另一种显示局部视图的方法。我只是添加一个 jquery 函数并在 onClick 事件上调用它。如果有人需要,下面是代码。

    jQuery 函数

    function getView() {
         $('#CompareList').load("@Url.Action("AddToCompare", "Product", new { id = Model.ProductId })");
    }
    

    通话链接

    <a href="JavaScript:void(0)" onclick="getView()">Add To Compare</a>
    

    效果很好!!

    谢谢

    【讨论】:

      猜你喜欢
      • 2013-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-21
      • 2013-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多