0

我是 C# 的新手,目前正在修改代码。这是我拥有的代码:

protected void Page_Load(object sender, EventArgs e)
{
    checkMember("Challenge", "answerQuestion.gif");

    var pagenameTemp = Session["RequestedPage"].ToString();
    var pagename = pagenameTemp.Substring(0, pagenameTemp.IndexOf('.'));
    var node = Settings.getNode("Challenge/HighRisk");

我希望能够重定向我得到的空引用:

var pagenameTemp = Session["RequestedPage"].ToString();

到一个新的页面。我尝试了不同的 if 语句,但尚未成功。

4

1 回答 1

2

这里的问题是 Session["RequestedPage"] 可能为空,因此对空对象执行 .ToString() 会导致它失败。

你应该做这样的事情......

var pagenameTemp = (Session["RequestedPage"] == null) ? 
    "SomeErrorPage.aspx" : Session["RequestedPage"].ToString();
于 2013-09-30T21:19:06.507 回答