0

次のコードが機能しない理由を教えてください。デバッガーが変数「strStatus」を通過するとエラーメッセージが表示されます。エラーメッセージは次のとおりです。「オブジェクト参照がオブジェクトのインスタンスに設定されていません。」助けてくれませんか。ありがとう-Yagya

    protected void Button1_Click(object sender, EventArgs e)
    {
        if (Y0130_chkNew.Checked == true)
        {
            bool isChecked = true; // This is required for later retrieval.

            string strAction = "Reporting";
            string strFromRole = ddSelectRole.SelectedValue;

            string TxtBoxID = myProject.getTextBox(strAction, strPath);
            TextBox txtb = new TextBox();
            txtb = (TextBox)Page.FindControl(TxtBoxID);
            string strStatus = txtb.Text;

            string ddID = myProject.getDropDown(strAction, strPath);
            DropDownList ddLst = new DropDownList;
            ddLst = (DropDownList)Page.FindControl(ddID);
            string strForwardRole = ddLst.SelectedValue;

            // Call the function now
            my.updateXML(strFromRole, strAction, strStatus, strForwardRole, strPath);

        }

    }
4

3 に答える 3

0

関数を使用してコントロールを見つけており、ページに存在しないテキストボックス ID を返す可能性があります。myProject.getTextBox 関数から取得しているテキストボックス ID をデバッグして確認し、それがページに存在するかどうかを確認してください。

于 2012-08-22T21:35:35.357 に答える
0

最終コード: if (Y0130_chkNew.Checked == true)
{
string TxtBoxID = "Y0140_txtStatus"; TextBox txtb = new TextBox();
txtb = (TextBox)Page.Master.FindControl("ContentPlaceHolder1").FindControl(TxtBoxID);
文字列 strStatus = txtb.Text;

            string ddID = "Y0150_ddOwnerRoleAssignment";
            DropDownList ddLst = new DropDownList();             
            ddLst = (DropDownList)Page.Master.FindControl("ContentPlaceHolder1").FindControl(ddID);            
            string strForwardRole = ddLst.SelectedValue;                       
        } 
于 2012-08-23T06:53:11.543 に答える
0

Page.FindControl(TxtBoxID);null を返します。例外の理由は何ですか。FindControlコントロールを再帰的に検索せず、指定されたNamingContainer.

コントロールがページ上の別のコントロールにネストされていない場合NamingContainer(fe a )、直接参照できるGridViewRowため、使用する理由はまったくありません。FindControl

string strStatus = TextBox1.Text; // assuming TextBox1 is declared on the aspx

のコントロールを使用している場合MasterPagesは、ページではなく次のようになります。NamingContainerContentPageContenPlaceHolder

ページに TextBox が見つかりません

于 2012-08-22T21:42:21.367 に答える