2013-02-11 2 views
9

मैं मैं निम्नलिखित है एक ASP.NET MVC 4.मूल्य शून्य या खाली नहीं हो सकता है। पैरामीटर नाम:</p> <pre><code><title>@ViewBag.Title</title> </code></pre> <p>लेआउट पृष्ठों का क्रम निम्नानुसार है:: contentPath

में एक बहु-स्तरीय लेआउट मास्टर पृष्ठों है

  1. _Layout.cshtml
  2. _SubLayout.cshtml
  3. Index.cshtml (_SubLayout.cshtml के आधार पर) (_Layout.cshtml के आधार पर)

मैं इंडेक्स एक्शन के अंदर @ व्यूबैग। टाइटल सेट कर रहा हूं। हालांकि, मुझे निम्न अपवाद मिलता है:

मान शून्य या खाली नहीं हो सकता है। पैरामीटर नाम: contentPath


यहाँ कोड मैं है। मैं बस ASP.NET डिजाइन पैटर्न पुस्तकों के कोड बनाने रहा वी.एस. 2012/MVC 4

_Layout.cshtml

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8" /> 
    <title>@ViewBag.Title</title> 
    <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /> 
    <meta name="viewport" content="width=device-width" /> 
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 
</head> 
<body> 
<div id="main">  
    <div id="header">   
     <span><a href="@Url.Content("")"> 
     <img alt="Agatha's Clothing Store" 
      src="@Url.Content("/Content/Images/Structure/lg_logo.png")" 
      border="0" /></a></span>   
    </div> 

    <div id="headerSummary">   
     @RenderSection("headerBasketSummary", required: false)     
    </div> 
    <div class="topBarContainer">   
     <div id="background">   
      <div id="navigation"> 
       @RenderSection("MenuContent", required: false) 
      </div>  
      <div id="content"> 
       @RenderBody() 
      </div>    
      <div style="clear: both;" /> 
     </div> 
    </div>   
    @Html.Partial("_SiteFooter") 
</div> 

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> 
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js"></script> 
<script src="//cdnjs.cloudflare.com/ajax/libs/json2/20121008/json2.js"></script> 
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-jtemplates.js")"></script> 
<script type="text/javascript" src="@Url.Content("~/Scripts/agatha-common-scripts.js")"></script> 

</body> 
</html> 

_ProductCatalogProduct.cshtml

@model BaseProductCatalogPageView 
@using Agathas.Storefront.Controllers.ViewModels.ProductCatalog 
@using Agathas.Storefront.UI.Web.MVC.Helpers 

@{ 
    Layout = "~/Views/Shared/_Layout.cshtml";     
} 

@if (IsSectionDefined("MenuContent")) 
{ 
    @RenderSection("MenuContent", required: false) 
} 
else 
{ 
    @Html.Partial("_Categories", ((BaseProductCatalogPageView)Model).Categories) 
} 
@RenderBody(); 

सूचकांक के लिए काम .cshtml

@model HomePageView 
@using Agathas.Storefront.Controllers.ViewModels.ProductCatalog 
@using Agathas.Storefront.Services.ViewModels 
@using Agathas.Storefront.UI.Web.MVC.Helpers 

@{ 
    Layout = "~/Views/Shared/_ProductCatalogLayout.cshtml"; 
    ViewBag.Title = "Home Page"; 
} 

<img width="559" height="297" 
     src="@Url.Content("~/Content/Images/Products/product-lifestyle.jpg")" 
     style="border-width: 0px; padding: 0px; margin: 0px" /> 
    <div style="clear: both;"></div> 
    <h2>Top Products</h2> 
    <div id="items" style="border-width: 1px; padding: 0px; margin: 0px"> 
     <ul class="items-list"> 
      @foreach (ProductSummaryView product in Model.Products) 
      { 
       <li class="item-detail"> 
       <a class="item-productimage-link" href="@Url.Action("Detail", "Product",  new { id = product.Id }, null)"> 
      <img class="item-productimage" src="@Url.Content("~/Content/Images/Products/" + product.Id.ToString() +".jpg"))" /></a> 
      <div class="item-productname">@Html.ActionLink(product.BrandName + " " + product.Name, "Detail", "Product", new { id = product.Id }, null)</div> 
      <div class="item-price">@product.Price</div> 
      </li> 
     } 
    </ul> 
</div> 

बहुत धन्यवाद

+0

क्या आप पूर्ण स्टैकट्रैक प्रदान कर सकते हैं? – nemesv

+0

बेवकूफ सवाल, लेकिन दोनों व्यूबैग को वही पूंजीकरण कहा जाता है ... क्या आप समस्या की बेहतर तस्वीर रखने के लिए कुछ कोड प्रदान कर सकते हैं? –

उत्तर

0

यह अगर आपको लगता है कि यह भी माता-पिता में से एक में सेट किया गया है बाल उस्तरा दृश्य फ़ाइल में एक मान निर्दिष्ट कर रहे हैं हो सकता है, लेकिन एक आंशिक Layout.cshtml

के लिए से बुलाया में प्रदर्शित होता है उदाहरण

_Layout.cshtml | (माता-पिता) | Parent.cshtml | (माता-पिता) | Page1.cshtml

Page1.cshtml में मुझे क्या करना

ViewBag.Title= "Value1"; 

Parent.cshtml में मैं एक ही लेकिन Umbraco कॉल का उपयोग कर कार्य करें:

ViewBag.Title = Umbraco.Field("value").ToString(); 

दुविधा में काम दूर करने के लिए है Parent.cshtml। यह एक बग प्रतीत होता है और मुझे डर है कि यह एकमात्र फिक्स है जिसे मैंने पाया है। उम्मीद है कि यह आपकी मदद करता है ...

20

कोड का यह टुकड़ा अपवाद फेंक रहा है: <a href="@Url.Content("")">। ऐसा इसलिए होता है क्योंकि Url.Content विधि का ContentPath पैरामीटर शून्य या खाली नहीं हो सकता है।

संबंधित मुद्दे