【问题标题】:Adding PartialView in layout在布局中添加局部视图
【发布时间】:2013-09-25 06:05:39
【问题描述】:

我创建了 _LoginPartial 并在默认 _Layout 中使用它,它工作正常,但是当我创建另一个 _AdminLayout 时,我遇到了问题。

我已经在页面顶部添加了

@using System.Web.Mvc
@using System.Web.Mvc.Html

我无法在 _AdminLayout 中添加我的 _LoginPartial 并收到以下错误

"System.Web.WebPages.Html.HtmlHelper' 不包含定义 对于“部分”和最佳扩展方法重载 'System.Web.Mvc.Html.PartialExtensions.Partial(System.Web.Mvc.HtmlHelper, string)' 有一些无效参数 "

我的代码是

 @using System.Web.Mvc
 @using System.Web.Mvc.Html
 <!DOCTYPE html>
 <html lang="en">
  <head>
   @*<title>@ViewBag.Title</title>
   <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
  <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")"
 type="text/javascript"></script>*@
<style type="text/css">
    /*Initialize*/ul#menu, ul#menu ul.sub-menu
    {
        padding: 0;
        margin: 0;
    }
    ul#menu li, ul#menu ul.sub-menu li
    {
        list-style-type: none;
        display: inline-block;
    }
    /*Link
     Appearance*/ul#menu li a, ul#menu li ul.sub-menu li a
    {
        text-decoration: none;
        color: #fff;
        background: #666;
        padding: 5px;
        display: inline-block;
    }
    /*Make the
     parent of sub-menu relative*/ul#menu li
    {
        position: relative;
    }
    /*sub menu*/ul#menu li ul.sub-menu
    {
        display: none;
        position: absolute;
        top: 30px;
        left: 0;
        width: 100px;
    }
    ul#menu li:hover ul.sub-menu
    {
        display: block;
    }
    </style>
   </head>
 <body>
  <div>

    <table border="1" width="100%" style="background-color: Lime; margin-top: 30px">
        <tr>
            <td>
                @Html.Partial("_LoginPartial")
            </td>
        </tr>
        <tr>
            <td>
                <ul id="menu">

                        </ul>
                    </li>
                    <li><a href="#">Manage Product</a>
                        <ul class="sub-menu">

                        </ul>
                    </li>
                    <li><a href="#">Manage Order</a>
                        <ul class="sub-menu">

                        </ul>
                    </li>
                    <li><a href="#">Manege user</a>
                        <ul class="sub-menu">

                        </ul>
                    </li>
                    <li><a href="#">Set NewProduct</a>
                        <ul class="sub-menu">

                        </ul>
                    </li>
                    <li><a href="#">Set Home Category</a>
                        <ul class="sub-menu">

                        </ul>
                    </li>
                    <li><a href="#">Category Wise product</a>
                        <ul class="sub-menu">

                        </ul>
                    </li>
                    <li><a href="#">Feature product</a>
                        <ul class="sub-menu">

                        </ul>
                    </li>
                </ul>
            </td>
        </tr>
        <tr>
            <td>
                @RenderBody()
            </td>
        </tr>
    </table>
    </div>
    </body>
    </html>

【问题讨论】:

  • 你用来渲染部分的代码是什么?您的部分视图位于哪些文件夹中?
  • 嗨 Rowan,我正在使用 @Html.Partial("_LoginPartial")

标签: asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 razor


【解决方案1】:

我已经复制了 web.config 文件,我的另一个布局和它对我的工作在哪里。 我不知道这是不是好方法,但我的问题已经解决了

感谢您的 cmets 和回复

谢谢 阿尼尔

【讨论】:

    【解决方案2】:

    我认为你的 adminPartial 有另一个文件夹,所以你得到这个错误

    。请在您的部分页面中设置正确的 URL,无论在哪里调用。

    /Shared/adminPartial.cshtml
    

    【讨论】:

      【解决方案3】:

      使用@Html.Partial("../Views/YourFolder/_LoginPartial") 并尝试

      【讨论】:

        【解决方案4】:

        主要问题是您的 web.config 中缺少命名空间...确保您在 web.config 的命名空间部分中有它,或者甚至可以将它包含在布局文件本身中 @using System.Web.Mvc.Html;

        <add namespace="System.Web.Mvc.Html"/>
        

        有时它也是由于在具有任何已定义模型的视图中使用局部视图引起的,尤其是在您传递匿名对象的模型对象时。

        如果您想传递自定义参数而不是模型对象,下面是一个示例:

        @Html.Partial("_PartialView", null, new ViewDataDictionary(new { showEmployeeBanner = "true", }))
        

        【讨论】:

          猜你喜欢
          • 2013-03-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-09-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-06-05
          相关资源
          最近更新 更多