当不存在查询字符串时显示页面

本文关键字:显示 字符串 不存在 查询 | 更新日期: 2023-09-27 18:06:35

我有一个页面,这需要我有一个gameweek id在页面加载运行特定的方法。

通过查询字符串解析,并通过以下方式检索:

gameweekID = Request.QueryString["gameweekID"];
例如:

page1.aspx?gameweekID=1

我的问题是,然而,在url是page1的场合。没有提供querystring的Aspx。

我怎么能默认页面gameweekID = 1,而不是得到错误

Procedure or function 'GetPredictions' expects parameter '@gameweekID', which was not supplied.

当不存在查询字符串时显示页面

你可以这样做:

gameweekID = Request.QueryString["gameweekID"] ?? "1";

这意味着如果Request.QueryString["gameweekID"]null,使用"1"代替,但如果您请求page1.aspx?gameweekID=page1.aspx?gameweekID=foo,这仍然会产生错误。

也许更优雅的方法是验证gameweekID实际上是一个整数。这样的:

string gameweekIDString = Request.QueryString["gameweekID"];
int gameweekID;
if (!int.TryParse(gameweekIDString, out gameweekID))
{
    gameweekID = 1;
}

if(Request.Querystring["gameweekID"] === null) Response.Redirect("page.aspx?!gameweekID=1")