我试图将参数从一个页面传递到另一个页面时获取NullReferenceException

时间:2012-01-10 13:07:12

标签: c# asp.net exception

我尝试将一些值从一个页面传递到另一个页面但是在运行时我得到了异常。

这是我的ASP代码:

<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">

Enter a value to post:
<asp:textbox id="TextBox1" 
  runat="Server">
</asp:textbox>

<br /><br />

<asp:button id="Button1" 
  text="Post back to this page"
  runat="Server">
</asp:button>

<br /><br />

<asp:button id="Button2"
  text="Post value to another page" 
  postbackurl="Button.PostBackUrlPage2cs.aspx" 
  runat="Server">
</asp:button>
</asp:Content>

这是目标网页上的代码隐藏:

 void Page_Load(object sender, System.EventArgs e)
    {
        string text;

        // Get the value of TextBox1 from the page that 
        // posted to this page.
        text = ((TextBox)PreviousPage.FindControl("TextBox1")).Text;

        // Check for an empty string.
        if (text != "")
            PostedLabel.Text = "The string posted from the previous page is "
                               + text + ".";
        else
            PostedLabel.Text = "An empty string was posted from the previous page.";
    }

我得到了这个例外:

  

异常详细信息:System.NullReferenceException:未将对象引用设置为对象的实例。

我从msdn获取了这个例子。

为什么我会收到此异常?

2 个答案:

答案 0 :(得分:1)

假设你在UpdatePanel中有这个,请将按钮设置为回发后触发器:

<Triggers>
    <asp:PostBackTrigger ControlID="Button2" />
</Triggers>

答案 1 :(得分:0)

我不确定,但这是一个拼写错误

postbackurl =“Button.PostBackUrlPage2cs.aspx”不正确

postbackurl =“PostBackUrlPage2cs.aspx”是正确的

<asp:button id="Button2"
  text="Post value to another page" 
  postbackurl="PostBackUrlPage2cs.aspx" 
  runat="Server">
</asp:button>