嗨,我是第一次使用C#的新手。我已经成功地将数据从下拉列表加载到文本字段中。还可以从数据库表中插入,更新和删除记录。现在,我正面临着这个问题。每个新记录插入db表,更新或删除时,从Page_Load加载的我的下拉列表不会刷新我的下拉列表。
我在线进行了一些研究,而不是使用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();
答案 0 :(得分:0)
数据更改后,数据库不会向您的代码库触发事件。您需要围绕内存集合使用类似Observable的包装器类。
如果在其他客户端应用程序更新数据时需要更新,则需要使用RabbitMQ之类的消息代理,或者提供外部API来接收MVC WebAPI之类的通知。
最后一个选项将在执行操作后重新查询,但这可能会严重影响您的网络流量。