ASP.Net 下拉列表不会重新显示我选择的选项
ASP.Net Dropdown List Doesn't Re-Display My Selected Option
我有一个 4 页的 ASP.NET 表单,它在会话中存储数据。所有这些工作正常,但我在检索用户最初从我的下拉列表中选择的值时遇到问题。
第 1 页HTML 带 DropDownList
<asp:DropDownList ID="ddlInnoc" runat="server" class="form-control">
<asp:ListItem Value="0">- - Please Select - -</asp:ListItem>
<asp:ListItem Value="Male">Male</asp:ListItem>
<asp:ListItem Value="Female">Female</asp:ListItem>
</asp:DropDownList>
第 1 页代码后面重新显示所选值
protected void Page_Load(object sender, EventArgs e)
{
if (txtData1.Text == string.Empty && Session["pg1input"] != null)
{
txtData1.Text = Session["pg1input"].ToString();
}
if (ddlInnoc.SelectedValue == string.Empty && Session["pg1dd"] != null)
{
ddlInnoc.SelectedValue = Session["pg1dd"].ToString();
}
}
protected void pg1button_Click(object sender, EventArgs e)
{
Session["pg1input"] = txtData1.Text;
Session["pg1dd"] = ddlInnoc.SelectedValue;
Response.Redirect("/Session/pg2.aspx");
}
第3页HTML代码
<div class="form-group">
<div class="col-xs-12">
<asp:Label ID="Label1" class="col-md-2 control-label" runat="server" Text="Name:"></asp:Label>
<div class="col-md-3 form-control-static">
<%=Session["pg1input"] %>
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-12">
<asp:Label ID="Label2" class="col-md-2 control-label" runat="server" Text="Sex:"></asp:Label>
<div class="col-md-3 form-control-static">
<%=Session["pg1dd"] %>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-offset-4 col-xs-12">
<asp:LinkButton ID="pg1EditButton" runat="server" OnClick="pg1EditButton_Click" CssClass="btn btn-default">
<span aria-hidden="true" class="glyphicon glyphicon-pencil"></span> Edit
</asp:LinkButton>
</div>
</div>
第3页编辑后面的按钮代码
protected void pg1EditButton_Click(object sender, EventArgs e)
{
Response.Redirect("/Session/pg1.aspx");
}
我认为条件 if (ddlInnoc.SelectedValue == string.Empty
不正确,因为 ddlInnoc.SelectedValue 的初始值将为 0 而不是 String.Empty..尝试将初始值检查为“0”
为了解决它添加的问题
if (ddlInnoc.SelectedValue != "0" && Session["pg1dd"] != null)
{
ddlInnoc.SelectedValue = Session["pg1dd"].ToString();
}
我有一个 4 页的 ASP.NET 表单,它在会话中存储数据。所有这些工作正常,但我在检索用户最初从我的下拉列表中选择的值时遇到问题。
第 1 页HTML 带 DropDownList
<asp:DropDownList ID="ddlInnoc" runat="server" class="form-control">
<asp:ListItem Value="0">- - Please Select - -</asp:ListItem>
<asp:ListItem Value="Male">Male</asp:ListItem>
<asp:ListItem Value="Female">Female</asp:ListItem>
</asp:DropDownList>
第 1 页代码后面重新显示所选值
protected void Page_Load(object sender, EventArgs e)
{
if (txtData1.Text == string.Empty && Session["pg1input"] != null)
{
txtData1.Text = Session["pg1input"].ToString();
}
if (ddlInnoc.SelectedValue == string.Empty && Session["pg1dd"] != null)
{
ddlInnoc.SelectedValue = Session["pg1dd"].ToString();
}
}
protected void pg1button_Click(object sender, EventArgs e)
{
Session["pg1input"] = txtData1.Text;
Session["pg1dd"] = ddlInnoc.SelectedValue;
Response.Redirect("/Session/pg2.aspx");
}
第3页HTML代码
<div class="form-group">
<div class="col-xs-12">
<asp:Label ID="Label1" class="col-md-2 control-label" runat="server" Text="Name:"></asp:Label>
<div class="col-md-3 form-control-static">
<%=Session["pg1input"] %>
</div>
</div>
</div>
<div class="form-group">
<div class="col-xs-12">
<asp:Label ID="Label2" class="col-md-2 control-label" runat="server" Text="Sex:"></asp:Label>
<div class="col-md-3 form-control-static">
<%=Session["pg1dd"] %>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-offset-4 col-xs-12">
<asp:LinkButton ID="pg1EditButton" runat="server" OnClick="pg1EditButton_Click" CssClass="btn btn-default">
<span aria-hidden="true" class="glyphicon glyphicon-pencil"></span> Edit
</asp:LinkButton>
</div>
</div>
第3页编辑后面的按钮代码
protected void pg1EditButton_Click(object sender, EventArgs e)
{
Response.Redirect("/Session/pg1.aspx");
}
我认为条件 if (ddlInnoc.SelectedValue == string.Empty
不正确,因为 ddlInnoc.SelectedValue 的初始值将为 0 而不是 String.Empty..尝试将初始值检查为“0”
为了解决它添加的问题
if (ddlInnoc.SelectedValue != "0" && Session["pg1dd"] != null)
{
ddlInnoc.SelectedValue = Session["pg1dd"].ToString();
}