2

接続されたgridviewコントローラーにデータをアップロードするために使用するformviewコントロールがあります。グリッドビューの上部で、asp:linkbuttonを使用して、フォームビューを挿入モードに設定します。

    FormView1.ChangeMode(FormViewMode.Insert);

フォームビューの挿入テンプレートにある私のテキストボックスは次のとおりです。

    <asp:TextBox ID="Date_Position_AvailableTextBox" runat="server" Text='<%# Bind("Date_Position_Available") %>' />

これがformLoadの私のコードです。これは、テキストボックスコントロールの値を事前に入力していると私が信じている場所です。

     if (!IsPostBack)  
        {  
            FillDefaultVaueInFormView();  
        }

そして最後に、これが私のFillDefaultVaueInFormView()です。働き。

    public void FillDefaultVaueInFormView()
    {

        if (FormView1.CurrentMode == FormViewMode.Insert)
        {

            TextBox txtPositionAvailable = FormView1.FindControl("Date_Position_AvailableTextBox") as TextBox;
            if (txtPositionAvailable != null)
            {
                txtPositionAvailable.Text = DateTime.Now.ToShortDateString();
            }
        }
    } 

挿入モードに入ると、フィールドは空白になります。私はここで何が間違っているのですか?!?

4

1 に答える 1

0

FillDefaultValueInFormView()FormView を挿入モードに設定した直後に発生するように移動する必要があります。フォームの読み込み時にフィールドに入力しようとすると、テキスト ボックスが存在しません (挿入または編集モードでない場合、「テキスト ボックス」は実際にはラベルです)。これにより、ifステートメントが false に戻るため、値が入力されません。

于 2013-03-14T14:21:51.147 に答える