我有一个页面,要求我在页面加载时有一个gameweek 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.
答案 0 :(得分:3)
你可以这样做:
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;
}
答案 1 :(得分:0)
if(Request.Querystring["gameweekID"] === null) Response.Redirect("page.aspx?!gameweekID=1")