我的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应该自动带来最近添加的程序,而不是默认的“选择程序”内容。我找不到解决此问题的方法。任何帮助或建议,将不胜感激。
答案 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通过在我的问题下发表评论来帮助我。