電流動作PARAMS我在MVC3應用工作。爲什麼我的看法動作鏈接包括MVC3
在我看來,我正在使用@ Html.ActionLink錨鏈接。每件事情都很好。 但這些鏈接包括鏈接當前URL的PARAMS。
如果我目前的鏈接所產生的http://localhost:25466/Blog/Blog/shoes/2
在上面的鏈接其實我沒有做任何事情在URL中包括「2」 http://localhost:25466/Blog/all/2
動作鏈接。但它仍然被添加。
我的路線配置是
routes.MapRoute(
"Blog", "Blog/Blog/{tag}/{id}",
new { controller = "Blog", action = "Blog", tag = UrlParameter.Optional,id="1" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = "1" },
constraints: new { id = @"\d+" }
);
而且我的行爲是
public ActionResult All(int id)
{
var context = new BlogCore.DbContext.BlogContext();
var list = context.Get(id,20);
return View(list);
}
public ActionResult Blog(string tag,int id)
{
var context = new BlogCore.DbContext.BlogContext();
var list = context.Get(HttpUtility.UrlEncode(tag), id, 20);
return View("All", list);
}
這就是我如何使用ActionLink的生成錨鏈接
@Html.ActionLink(blog.PostTitle, "Blog", "Blog", new { tag = blog.PostRewriteName }, null)
如何避免2在行動鏈接。
在此先感謝。
感謝您的回覆。其實我試過,但它不起作用。 – Naresh
Aahhh ....對不起,我用不同的鏈接嘗試此。它正在工作。但是,action鏈接在構造時考慮url參數嗎? – Naresh
我猜不是直接的,而是因爲他們在RouteValueDictionary結束:是 –