0

asp.net C#アプリケーションのボタンを使用せずに、dropdownListまたはTextBoxを使用してデータベースに値を追加するにはどうすればよいですか?

4

3 に答える 3

1

AutoPostBackプロパティをtrueに設定し、インデックス変更イベントに保存する必要があります。

<asp:DropDownList   
         ID="DropDownList1"  
         runat="server"  
         AutoPostBack="true"  
         OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"  
         >  
         <asp:ListItem>option1</asp:ListItem>  
         <asp:ListItem>option2</asp:ListItem> 

</asp:DropDownList>  
protected void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)  
{  
     //save data here
}  
于 2012-11-19T06:43:39.267 に答える
0

ドロップダウンリストの場合は、簡単です。「AutoPostBack」プロパティを「true」に設定します。そして、以下に示すように「SelectedIndexChanged」イベントを処理します。

    protected void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)  
    {  
      //save data here
    }

ただし、テキストボックスにはサーバー側イベント「TextChanged」があり、テキストボックスでも「AutoPostBack」を「true」に設定することで同じ方法を使用できます。

    protected void TextBox1_TextChanged(object sender, System.EventArgs e)  
    {  
      //do something here
    }

このテキスト ボックス イベントの欠点は、キーストロークごとに発生することです。

したがって、すべてのキーストロークでデータベース操作を処理するには適していません。

jQuery と非表示のボタンが役立ちます。

asp ボタンを用意し、その可視性を false に設定します。以下に示すように、サーバー側でクリックイベントを処理します。

    protected void Button1_Click(object sender, System.EventArgs e)  
    {  
      ////save data here
    }

テキスト ボックスに対して、以下に示すように jQuery .blur() イベントを接続し、そこから非表示のボタンのクリック イベントを発生させます。

    $("#TextBox1").blur(function() {
      $("#Button1").click();
    });

これにより、テキストボックス値の編集を停止すると、サーバー側でボタンクリックイベントが発生します。サーバー側のボタンクリックイベントからデータベース操作を行います。

于 2012-11-19T12:52:12.453 に答える
-1

ページロードイベントを通じて実装できると思います

于 2012-11-19T09:31:23.397 に答える