У меня есть 4-страничная форма ASP.NET, которая хранит данные в сеансе. Кнопка на третьей странице очищает сеанс. Все это работает нормально, но у меня проблема с обновлением значения на моей странице подтверждения, так как она сохраняет/отображает мое первоначальное выбранное значение, и я не могу понять, почему.ASP.Net Моя обновленная ценность из раскрывающегося списка не обновляется/отображается
первый 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>
первый код страницы За который снова отображает выбранное значение
protected void Page_Load(object sender, EventArgs e)
{
txtData1.Focus();
if (txtData1.Text == string.Empty && Session["pg1input"] != null)
{
txtData1.Text = Session["pg1input"].ToString();
}
if (Session["pg1dd"] != null)
{
ddlInnoc.SelectedValue = Session["pg1dd"].ToString();
}
//if (Session["pg1dd"].ToString() == "")
//{
// ddlInnoc.SelectedValue = Session["pg1dd"].ToString();
//}
}
protected void pg1button_Click(object sender, EventArgs e)
{
Session["pg1input"] = txtData1.Text;
Session["pg1dd"] = ddlInnoc.SelectedItem;
Response.Redirect("/Session/pg2.aspx");
}
Page 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>
Page 3 Кнопка редактирования кода За
protected void pg1EditButton_Click(object sender, EventArgs e)
{
Response.Redirect("/Session/pg1.aspx");
}
Я подозреваю, что его что-то делать с кодом позади на моей странице 1, как и все другие поля/кнопки радио на других страницах извлекает и отображает обновленное значение на моей третьей странице.
вы храните обновленное значение в сессии снова? – shreesha
@shreesha Я обновил раздел «1-й код страницы, который отображает выбранное значение» – murday1983
Я вижу вашу переменную сеанса ** Session ["pg2"] **, и вы сохраняете значение в ** Session ["pg1dd "] **. Я не вижу смысла использовать две переменные сеанса для хранения того же значения. Есть ли какие-нибудь? – shreesha