ASP.NET MVC路由ASPX文件

伊马科

因此,我正在编写一个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窗体)来做,这似乎是一个问题。控制器必须不同,路由代码必须不同吗?或基本上有可能吗?有想法或提示吗?

石匠

Url.Action辅助程序不会为Web窗体页面创建URL,因为它们不是操作。您需要做类似的事情

@Url.Content("~/somefolder/Details.aspx?id=" + item.DB_Id)

Url.Content 用于创建指向静态文件的URL,但它也可以与Web窗体配合使用。

您可以创建自己的帮助程序,以更清晰地处理参数。我现在没有时间进行实现,但是您可以创建类似以下内容的代码:

@Url.WebFormsPage("~/somefolder/Details.aspx", new { id = item.DB_Id })

帮助程序可以使用反射来生成适当的查询字符串,并将其附加到URL。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章