2

所以我一直在使用 php,并切换到 ASP.NET,因为我喜欢它。无论如何......我一直在开发自己的网站等,但我无法终生解决这个问题!

我有的:

string val = HttpContext.Current.Request["Header"];
// filename: index.aspx
// what I need to get
if (val == "random")
{
    renderA.Random("randoms.html");
}
else
{
    renderA.Index("index.html");
}

它在 URI 中返回的内容

/index.asp?random

我希望它看起来像什么:

/index.aspx/random/

有什么办法可以解决这个问题吗?

4

3 回答 3

2

您应该考虑切换到 MVC 站点;它将为您提供您正在寻找的功能。

这是来自旧版本,但你会明白的:Scott Guthrie 谈论 mvc 框架

于 2013-08-14T21:06:17.790 回答
1

我假设您使用的是 WebForms 而不是 MVC。它被称为 FriendlyUrls,这里是Hanselman的教程。您可能需要考虑切换到 MVC,因为它可以使用Routing来做到这一点。

于 2013-08-14T21:06:38.280 回答
1

添加一个Global Application Class到您的项目(Global.asax 文件),然后您可以执行以下操作:

void Application_Start(object sender, EventArgs e)
{
    // Code that runs on application startup
    RegisterRoutes(RouteTable.Routes);

}


void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("random", "random", "~/index.html");
}

您将需要参考System.Web.Routing

<%@ Import Namespace="System.Web.Routing" %>

学到更多:

http://msdn.microsoft.com/en-us/library/cc668201.ASPX

http://www.codeproject.com/Articles/77199/URL-Routing-with-ASP-NET-4-0

于 2013-08-14T21:16:24.797 回答