在ASP.NET中刷新页面后如何将用户添加的项目带入下拉列表?

时间:2019-01-21 20:35:06

标签: c# asp.net drop-down-menu asp.net-4.5

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

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

Select Program

<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的内容插入到相关的SQL表中。插入完成后,txtPrgLabel用于刷新页面并更新DDL的内容。此过程成功完成。

我想要的是:用户添加程序后,刷新页面时,DDL应该自动带来最近添加的程序,而不是默认的“选择程序”内容。我找不到解决此问题的方法。任何帮助或建议,将不胜感激。

1 个答案:

答案 0 :(得分:0)

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

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-在page_load中自动选择值:

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

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