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

これの主な問題は、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 に答える
0

あなたの adminPartial には別のフォルダーがあると思うので、このエラーが発生します

. 部分ページに正しい URL を設定してください。

/Shared/adminPartial.cshtml
于 2013-09-25T06:17:29.270 に答える