0

如何在不使用 asp.net C# 应用程序中的按钮的情况下使用下拉列表或文本框向数据库添加值?

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 回答