2

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

我已经在页面顶部添加了

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

我无法在 _AdminLayout 中添加我的 _LoginPartial 并出现以下错误

“System.Web.WebPages.Html.HtmlHelper'不包含'Partial'的定义和最佳扩展方法重载'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>
4

4 回答 4

1

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

感谢您的评论和回复

谢谢阿尼尔

于 2013-09-28T08:00:03.287 回答
0

我认为您的 adminPartial 有另一个文件夹,所以您收到此错误

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

/Shared/adminPartial.cshtml
于 2013-09-25T06:17:29.270 回答
0

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

于 2013-09-25T08:28:22.237 回答
0

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

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

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

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

@Html.Partial("_PartialView", null, new ViewDataDictionary(new { showEmployeeBanner = "true", }))
于 2015-03-18T06:45:12.070 回答