如何在不使用 asp.net C# 应用程序中的按钮的情况下使用下拉列表或文本框向数据库添加值?
问问题
970 次
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 回答