C# 插入更新删除后如何从页面加载中刷新下拉菜单?

C# 插入更新删除后如何从页面加载中刷新下拉菜单?,c#,postgresql,visual-studio-2017,C#,Postgresql,Visual Studio 2017,嗨,我是c#的第一个任务新手。我已成功地将数据从dropdownlist加载到我的文本字段中。还可以从数据库表中插入、更新和删除记录。现在,我面临着这个问题。每次将新记录插入db表、更新或删除时,从页面加载的my dropdownlist不会刷新my dropdownlist 我在网上做一些研究,而不是使用ajax。我可能会使用另一个技巧代码DropDownList2.DataBind() 无论如何,刷新我的下拉列表仍然不起作用。任何专家都能给我一些建议。我是否将代码行放错了 下面是我的删除函数

嗨,我是c#的第一个任务新手。我已成功地将数据从dropdownlist加载到我的文本字段中。还可以从数据库表中插入、更新和删除记录。现在,我面临着这个问题。每次将新记录插入db表、更新或删除时,从页面加载的my dropdownlist不会刷新my dropdownlist

我在网上做一些研究,而不是使用ajax。我可能会使用另一个技巧代码DropDownList2.DataBind()

无论如何,刷新我的下拉列表仍然不起作用。任何专家都能给我一些建议。我是否将代码行放错了

下面是我的删除函数代码

 connection.ConnectionString = 
 ConfigurationManager.ConnectionStrings["constr"].ToString();
 connection.Open();
 NpgsqlCommand cmd = new NpgsqlCommand();
 cmd.Connection = connection;
 cmd.CommandText = "Delete from student_db where id=@id";
 cmd.CommandType = CommandType.Text;
 cmd.Parameters.Add(new NpgsqlParameter("@id", 
 Convert.ToInt32(DropDownList2.SelectedItem.Value)));
 cmd.ExecuteNonQuery();
 cmd.Dispose();
 DropDownList2.DataBind();
 connection.Close();

当数据发生更改时,数据库不会向代码库触发事件。您需要使用一个包装类,比如内存集合中的可观察类

如果您需要在其他客户端应用程序更新数据时进行更新,那么您需要使用消息代理(如RabbitMQ)或提供外部API(如MVC WebAPI)来接收通知

最后一个选项是在执行操作后重新查询,但这可能会严重影响您的网络流量