【问题标题】:mvc partial view can not be foundmvc局部视图找不到
【发布时间】:2016-07-15 15:01:10
【问题描述】:

我在 Stackoverflow 上遇到过非常相似的情况,但到目前为止,推荐的方法都没有帮助我。

一个按钮应该像这样触发渲染部分视图

<script>
                function forward(element) {
                    var form = $(element).closest('form');
                    form.attr('action', "@Url.Action("ForwardList")");
                    form.attr('data-ajax-method', "POST");
                    form.attr('data-ajax-update', "#ajax-target");
                    form.submit();
                }


            </script>
            <div class="widget-body">
                <div class="mail-header" style="margin-left:0px;">
                    <ul class="header-buttons">
                        //other buttons to the left and right

                        <li>
                            <a class="tooltip-primary" data-toggle="tooltip" data-original-title="Forward" onclick="forward(this);"><i class="fa fa-mail-forward"></i></a>
                        </li>

                    </ul>
                </div>

和FolderController里面的ForwardList Action Result

public ActionResult ForwardList(FormCollection coll)
        {
            ClaimsIdentity identity = (ClaimsIdentity)User.Identity;
            int CompanyId = Convert.ToInt32(identity.FindFirst("CompanyId").Value);
            string SelectedIds = coll["chkGrid"];

            DataSet ds = CompanyDB.Company_List(CompanyId);
            if (DBHelper.DataSetValid(ds, false))
            {
                ViewBag.SelectedIds = SelectedIds;
                return PartialView("~/Views/Folder/_Forward.cshtml", ds.Tables[0]);
            }
            else
                return PartialView();
        }

我调试的时候进入ActionResult,一路走,然后返回500错误。

来自this.Context.AllErrors的错误像这样返回

{"未找到局部视图 '~/Views/Folder/_Forward.cshtml' 或没有视图引擎支持搜索的位置。搜索了以下位置:\r\n~/Views/Folder/_Forward.cshtml "}

部分视图设置为内容。

结构是这样的 领域/ 主要的/ 观看次数/ 文件夹/ _Forward.cshtml。

我没有排除的唯一可能性是它与 Ajax 形式有关,但我在 Ajax 方面的经验不足,不知道是否与此有关。

【问题讨论】:

    标签: ajax asp.net-mvc


    【解决方案1】:

    在局部视图中包含区域

    return PartialView("~/Areas/yourArea/Views/Folder/_Forward.cshtml", ds.Tables[0]);
    

    【讨论】:

    • 谢谢,最令人沮丧的总是被忽略的最小细节:)
    猜你喜欢
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多