0

我有一个页面,要求我在页面加载时有一个游戏周 ID 才能运行特定方法。

这通过查询字符串进行解析,并使用以下内容检索:

gameweekID = Request.QueryString["gameweekID"];

例如:

page1.aspx?gameweekID=1

但是,我的问题是在 url 是 page1.aspx 的情况下,没有提供查询字符串。

如何将页面默认为 gameweekID = 1,而不是收到错误

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

4

2 回答 2

3

你可以这样做:

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

这意味着使用if 代替,但是Request.QueryString["gameweekID"]如果您请求or ,这仍然会产生错误。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;
}
于 2013-03-29T17:36:14.933 回答
0

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

于 2013-03-29T18:23:55.313 回答