我有一个ASP.NET应用程序。在某些页面上,它需要使用页面调用特定的查询字符串,因此可以处理数据。
检查URL中是否包含所需查询字符串的最合适位置,否则重定向到其他位置?
我只使用了一个主页。
将不胜感激的想法和建议。
感谢。
答案 0 :(得分:5)
我会在每个需要查询字符串项的页面中检查Page_Load函数或更好的Page_Init函数。
Link to ASP.NET page execution lifecycle.
protected override void Page_Init (object sender, EventArgs e)
{
if(Request.QueryString["key1"] == "" || Request.QueryString["key1"] == null)
{
Response.Redirect("YOUR_PAGE_HERE");
}
}
答案 1 :(得分:1)
检查使用它的页面上的查询字符串。您希望尽可能将相关代码保存在一起。
答案 2 :(得分:0)
越快越好 - 如果您真的想在其他地方重定向/转移,为什么要花费更多时间在网页上?
答案 3 :(得分:0)
我在Page_Load
处理程序中执行此操作,但可能应该在Page_Init()
中。
Master Page代码直到Page_Init()之后才会执行。我想。
答案 4 :(得分:0)
您可以为任何需要查询字符串的页面创建一个自定义属性。然后你可以检查:a)处理程序(页面)上是否存在该属性; b)如果找到该属性,则为非空查询字符串。我以前做过类似的自定义属性。检查可以在Global.asax.cs代码中进行,但是必须足够晚才能通过asp.net运行时识别处理程序(标准Web表单.aspx页面的Page派生类)。
这将使您不必在任何有要求的页面上重复相同的代码。