因此,我正在遵循書籍ASP.NET和MVC 5中的示例。下面是導致錯誤:錯誤跟隨ASP.NET和MVC 5 ...錯誤CS0246:找不到類型或名稱空間
@model SportsStore.WebUI.Models.ProductsListViewModel
@{
ViewBag.Title = "Products";
}
@foreach (var p in Model.Products)
{
<div>
<h3>@p.Name</h3>
@p.Description
<h4>@p.Price.ToString("c")</h4>
</div>
}
<div>
@Html.PageLinks(Model.pagingInfo, x => Url.Action("List", new { page = x}))
</div>
智能感知使紅色squigly線下PageLinks(但是在書本它投影正確識別它)。 PageLinks在如下同一項目中定義(有此解決方案3個項目):
using System;
using System.Text;
using System.Web.Mvc;
using SportsStore.WebUI.Models;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace SportsStore.WebUI.HtmlHelpers
{
public static class PagingHelpers
{
public static MvcHtmlString PageLinks(this HtmlHelper html, PagingInfo pagingInfo, Func<int, string> pageUrl)
{
StringBuilder result = new StringBuilder();
for (int i = 1; i <= pagingInfo.TotalPages; i++)
{
TagBuilder tag = new TagBuilder("a");
tag.MergeAttribute("href", pageUrl(i));
tag.InnerHtml = i.ToString();
if (i == pagingInfo.CurrentPage)
{
tag.AddCssClass("selected");
tag.AddCssClass("btn-primary");
}
tag.AddCssClass("btn btn-default");
result.Append(tag.ToString());
}
return MvcHtmlString.Create(result.ToString());
}
}
}
無論出於何種原因,它不斷告訴我它無法找到sportsstore命名空間。我很困在這裏。實際上,我已經從書中編譯完成的項目,並經過檢查,看看能否找到任何差異,但至今沒有運氣。我從字面上檢查了每個引用,並比較了兩個web.config文件(主視圖和視圖)。即使我在視圖中放置@using指令,它仍然找不到它。實際上編譯這個項目時遇到了很多問題。早些時候,我有一些ninject問題,需要我編輯web.config文件。
如果有人想要我的整個解決方案的.zip,我很樂意將它上傳到某個地方(大約24mb)。
任何幫助讚賞!
感謝, 湯姆
編輯:
這裏是視圖的web.config文件中的相應部分:
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="SportsStore.WebUI" />
<add namespace="SportStore.WebUI.HtmlHelpers"/>
</namespaces>
檢查你的web.config,並確保完整的名稱空間在那裏,請參閱此答案以獲取更多信息:http://stackoverflow.com/a/4450122/546000 –
您在最後一項中拼寫了SportsStore命名空間。您在存儲 – LukeP
之前錯過了一個's'我會嘗試上傳,可能要晚一些。我在我的州工作,他們防火牆大多數常規上傳網站。我可以通過電子郵件發送給你們中的一個嗎?我將刪除bin和obj目錄以減小大小。 – user3298634