-1
我想從URL中刪除區域名稱和控制器名稱。我能夠刪除區域名稱。但是,如果試圖刪除控制器名稱,則會顯示「頁面未找到錯誤」。下面是我用來刪除區域和控制器名稱的代碼片段。從MVC4中的mvc路由中刪除區域名稱和控制器名稱
public class HomeAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Home";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
//context.MapRoute(
// "Home_default",
// "Home/{controller}/{action}/{id}",
// new { action = "Index", id = UrlParameter.Optional }
//);
//context.MapRoute(
// "Home_default",
// "{controller}/{action}/{id}",
// new { action = "Index", id = UrlParameter.Optional },
// new { controller = "(Home)" }
//);
context.MapRoute(
"Home_default",
"{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new { controller = "(Home)" }
);
}
}
在registerarea函數中,前兩條路線(註釋)完美地工作。如果我使用第一個URL,則會附帶區域/控制器/操作。如果我使用第二個域名,那麼該域名不會在URL中出現。URL與控制器/操作一起提供。
在第三個我試圖刪除區域和控制器 我的第三條路線是否有任何錯誤。請建議
是的,我已經試過了,但問題仍然是相同的。 – shu
您試圖將哪個網址映射到哪個控制器/操作? – RoteS
@using(Html.BeginForm(「Index」,「Home」,new {area =「Home」},FormMethod.Post,new {id =「formHome」})) { }這是我嘗試的形式以行動「索引」,控制器「家」和區「家」映射。當我嘗試提交表單時,我只需要顯示url中的「索引」而不是/ Home/Home/Index。 – shu