所以我正在编写一个ASP.NET MVC应用程序,我在路由aspx文件时遇到了一些问题 - 总的来说这很有用。
让我们说我有一个剃刀页面,我想,例如从数据库中打开特定的行并显示它,它非常简单,我只是写在index.cshtml中:
@Url.Action("Details", new { id = item.DB_Id })
详细信息页面打开,我可以在数据库中看到此行的具体信息
路线规则:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home",
action = "Index",
id = UrlParameter.Optional
}
但是当我想要做同样的事情而不是打开details.cshtml文件时我想用details.aspx(Web Form)来做这个问题。控制器必须不同,路由代码必须不同吗?或者它基本上可能吗?和想法或提示?
答案 0 :(得分:0)
setDT(df1)[, .N, rleid(v1, v2)]$N
帮助程序不会为Web窗体页创建URL,因为它们不是动作。你需要做一些像
Url.Action
@Url.Content("~/somefolder/Details.aspx?id=" + item.DB_Id)
用于创建静态文件的URL,但它也适用于Web窗体。
您可以创建自己的帮助程序,以更干净地处理参数。我现在没有时间进行实施,但你可以创建类似的东西:
Url.Content
帮助程序可以使用反射生成相应的查询字符串并将其附加到URL。