大丈夫です。コードビハインドファイルに次のクラスがあります。非常に単純なページで、TestIssueオブジェクトを取得し、エントリを編集するためのテキストボックスにエントリをロードし、saveをクリックすると、データベース内のTestIssueを更新する関数を呼び出します。NullReferenceException - 初期化されたオブジェクトがnullにリセットされる理由を理解できません。
ここにコードがあります。
public partial class Issues_Edit : System.Web.UI.Page
{
protected string filter_test_director;
protected TestIssue myIssue;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string id = Request.QueryString["id"];
id = "1358";
myIssue = new TestIssue(Convert.ToInt32(id));
issue_date.Text = myIssue.Entry_Date.ToString();
issue_author.Text = myIssue.Author.Full_Name_RFL;
issue_text.Text = myIssue.Entry.Replace("<br>", "\n");
issue_text.Height = 150;
issue_text.Width = 400;
}
}
protected void SaveButton_Click(object sender, EventArgs e)
{
myIssue.Entry = issue_text.Text;
int update = TestIssueDB.UpdateIssue(myIssue);
if (update == 1)
{
//Response.Redirect("program.aspx?p=" + myIssue.Program_ID);
}
else
{
top_message.Text = "Error Updating Issue Text";
}
}
}
今の問題は、保存機能がmyIssueオブジェクトのとNullReferenceExceptionと、そのエラーが呼び出されたときということです。私は本当にこれはなぜか分かりません。なぜなら、他のいくつかのページで他のオブジェクトを処理しているpage_loadの上にオブジェクトが宣言され、page_load内で初期化され、他の関数で変更されたオブジェクトと同じ方法です。
なぜmyIssueオブジェクトがその関数に存在しないのでしょうか?
ugh、それは完全に釘付け、私のオブジェクトが!IsPostBackの前に初期化されている他のページで実現していませんでした。ありがとうございました。 – Josh