如何在 asp.net 页面刷新后将用户添加的项目带到下拉列表?

How to bring user-added item to dropdownlist after page refresh in asp.net?

我的 aspx 页面中有一个下拉列表:ddlProgramList,它通过查询从 Sql 服务器加载到 page_load() 事件中:Select Name from Programs; 默认值此 DDL 的值为:Select Program

在同一页面中,我在 aspx 中有一个按钮,如下所示,如果当前下拉列表选项中不存在新程序,用户可以在其中添加新程序:

<asp:TextBox ID="txtPrgLabel" runat="server" style="width:295px"></asp:TextBox>
<asp:Button ID="btnSaveProgram" runat="server" Text ="Save Program" OnClick="btnSaveProgram_Click" />

btnSaveProgram_Click 函数基本上是用 txtPrgLabel 的内容插入相关的 SQL table。插入完成后,使用Response.Redirect(Request.RawUrl);刷新页面,更新DDL的内容。此过程成功运行。

我想要的是:用户添加程序后,刷新页面时,DDL应该自动带上最近添加的程序,而不是默认的"Select Program"内容。我找不到管理这个的方法。如有任何帮助或建议,我们将不胜感激。

以下是管理此需求的步骤:

1- 我已经定义了一个全局变量:

public int maxProgramID = 0;

2- 在 page_load 中找到 MaxID:

string maxID = programsDataTable.AsEnumerable()
.Max(row => row["ProgramId"])
.ToString();

3- 在 btnSaveProgram_Click 中将其添加到我的会话中:

Session["AddedProgram"] = new DDLProgram { Name = programName, Value = maxProgramID + 1 };

4-Select值自动在page_load:

if(Session["AddedProgram"] != null) ddl.SelectedValue = Session["AddedProgram"];

感谢@penleychan 在我的问题下发表评论来帮助我。