0
我需要幫助。我無法從我的主項目訪問我的便攜式區域。我構建了一切,當試圖訪問這個便攜式區域(localhost:123/IW/Home)時出現404錯誤,但我所有常規區域都正常工作(例如:localhost:123/Portal/Home)無法訪問MVCContrib中的我的便攜式區域MVC2
Here's我爲了做安裝我的便攜式區域 -I下載MVCContrib -I添加參考MVCContrib.dll在我的主要項目(稱爲WAB)
-I創建在同一個解決方案WAB一個新的類Librairy項目。 - 此新類Librairy稱爲IWPortableArea和我添加了必要的程序集的引用(MVCContrib,System.mvc,...)
-I創建IWRegistration:
namespace IWPortableArea
{
public class IWRegistration : PortableAreaRegistration
{
public override void RegisterArea(System.Web.Mvc.AreaRegistrationContext context, IApplicationBus bus)
{
context.MapRoute(
"iw",
"iw/{controller}.aspx/{action}",
new { controller = "login", action = "index" });
RegisterAllAreas(GetType());
}
public override string AreaName
{
get { return "iw"; }
}
}
}
-I創建了一個簡單的控制器這不是利用任何視圖文件:
namespace IWPortableArea.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return Content("yo you are in IW Portable Area, congrats");
}
}
}
-I加入我的主要項目,便攜式區域的引用:IWPortableArea.dll
- 最後我修改我的主要應用程序的Global.asax.cs中來:
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}.aspx/{action}/{id}", // URL with parameters
new { controller = "Portal", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterRoutes(RouteTable.Routes);
}
}
什麼是「iw/{controller} .aspx/{action}」中的aspx? – jfar 2010-07-22 18:04:05
我們的網絡服務器上的IIS不支持「.aspx」而不支持.aspx沒有.aspx我得到一個404錯誤。所以在我的文章中,當我說http:// localhost:123/IW/Home時,它應該是http:// localhost:123/IW/Home.aspx – 2010-07-22 18:13:15
您是否已將區域視圖的編譯操作更改爲Embedded Resource? – 2010-09-10 06:10:39