加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在asp.net中读取查询字符串而不指定任何页面名称

发布时间:2020-12-15 21:07:54 所属栏目:asp.Net 来源:网络整理
导读:如何读取aspx页面中的任何字符串. 例如:http://foo.com/bike站 我想在指定的aspx页面中读取/获取字符串. 预期的页面字符串是自行车架 预期的页面是getstring.aspx 在这里,我想读取字符串并重定向到指定的页面. 注意:我喜欢在ASP.Net(不使用MVC)中执行此操
如何读取aspx页面中的任何字符串.

例如:http://foo.com/bike站

我想在指定的aspx页面中读取/获取字符串.
预期的页面字符串是自行车架
预期的页面是getstring.aspx

在这里,我想读取字符串并重定向到指定的页面.
注意:我喜欢在ASP.Net(不使用MVC)中执行此操作

解决方法

您可以使用Route解决此问题.我做了一个简单的演示,你可以在几分钟内试用.在Global.asax.cs文件中,添加以下方法:
void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("Products","Products/{product}","~/getstring.aspx",false,new RouteValueDictionary { { "product","NoneSelected" } }
    );
}

在同一个文件中,在已经存在的void Application_Start(object sender,EventArgs e)方法中,添加RegisterRoutes(RouteTable.Routes);:

void Application_Start(object sender,EventArgs e)
{
    RegisterRoutes(RouteTable.Routes);
}

有了这个,你已经配置了一个Route,它将接受这样的请求:

http://foo.com/Products/bike%20stand

并将其映射到getstring.aspx.请注意,我有url编码url中的空格.

在getstring.aspx中,你可以像这样访问值(“自行车站”):

protected void Page_Load(object sender,EventArgs e)
{
    string routeValue = "";
    if (RouteData.Values.ContainsKey("product"))
        routeValue = RouteData.Values["product"].ToString();

    //routeValue now contains "bike stand"

    SelectedProduct.Text = routeValue;
}

我已在此示例中的应用程序文件夹下的“Products”路径中设置了Route.我不建议您直接在应用程序文件夹下设置路径,如问题所示.如果你绝对想要,你可以这样做:

void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("Products","{product}","NoneSelected" } }
    );
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读