作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
场景:-我有以下模式的网址:-
localhost:8080/albums/
routes.MapRoute(
{
name: "AlbumHome",
url : "Albums/{*albumName}"
defaults: new {controller = "Albums", action="Index", albumName = ""}
}
现在在我的操作中,我从数据库中获取 albumName,现在我应该如何在 url 中附加 albumName。
我希望 url 为:-
localhost:8080/albums/hindi
localhost:8080/albums/kanada
and so on.
行动
public ActionResult GetAlbumName()
{
//get the albumName from db
return RedirectToRoute("AlbumHome",albumName);
}
public ActionResult Index(string albumName)
{
return view();
}
如何在url中追加这个albumName?
最佳答案
你几乎是对的!
有一个overload对于 RedirectToRoute
,它允许您将路由值添加为 object
参数。在您的示例中,它看起来像这样:
public ActionResult GetAlbumName()
{
//get the albumName from db
return RedirectToRoute("AlbumHome", new { albumName });
}
您还可以像这样更明确地定义您的路线:
routes.MapRoute(
{
name: "AlbumHome",
url : "Albums/{albumName}"
defaults: new {controller = "Albums", action="Index", albumName = UrlParameter.Optional }
}
关于c# - 如何在 asp.net mvc 的 url 中附加字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31771088/
我是一名优秀的程序员,十分优秀!