2013-09-25 48 views
2

我已经创建了_LoginPartial并将其用于默认的_Layout,它工作正常,但是当我创建另一个_AdminLayout时,我遇到了问题。在布局中添加PartialView

我已经添加了页面顶部

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

上我不能加我_LoginPartial在_AdminLayout并收到以下错误

“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> 
+1

什么是您正在使用渲染部分的代码?您的部分视图位于哪个文件夹中? –

+0

您好罗文,我使用@ Html.Partial(“_ LoginPartial”) – user1035814

回答

0

我复制web.config文件哪里是我的另一个布局及其对我的工作。 我不知道这是很好的方式或没有,但我的问题解决了

感谢您的意见和反应

感谢 阿尼尔

0

我觉得你的adminPartial是有一些其他文件夹,所以你得到这个错误

。请在您的部分页面中设置正确的网址,无论何时拨打该网址。

/Shared/adminPartial.cshtml 
+0

是的,但我在哪里补充说,我没有得到 – user1035814

0

使用@ Html.Partial( “../查看/ YourFolder/_LoginPartial”),并尝试

+0

嗨Rudresh,这不适合我 – user1035814

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", }))