gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 18:43:21 25 4
gpt4 key购买 nike

如何读取 aspx 页面中的任何字符串。

示例:http://foo.com/bike站起来

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

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

最佳答案

您也许可以使用路线来解决这个问题。我做了一个简单的演示,您只需几分钟即可试用。在 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}", "~/getstring.aspx",
false,
new RouteValueDictionary { { "product", "NoneSelected" } }
);
}

关于asp.net - 在asp.net中读取查询字符串而不指定任何页面名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41822509/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com