【问题标题】:ASP.Net Dropdown List Doesn't Re-Display My Selected OptionASP.Net 下拉列表不会重新显示我选择的选项
【发布时间】:2015-07-31 07:37:56
【问题描述】:

我有一个 4 页的 ASP.NET 表单,它在会话中存储数据。所有这一切都工作正常,但我在检索用户从下拉列表中选择的初始值时遇到问题。

带有下拉列表的第一页 HTML

<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)
    {
        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");
}

【问题讨论】:

    标签: html asp.net webforms


    【解决方案1】:

    我认为条件if (ddlInnoc.SelectedValue == string.Empty 不正确,因为 ddlInnoc.SelectedValue 的初始值为 0 而不是 String.Empty..尝试将初始值检查为“0”

    【讨论】:

    • 如果我在返回页面时使用 value == "0",它会显示为“请选择”,因此我已将其更新为 !=“0”,然后返回所选值跨度>
    • 对,但主要是它不会是 string.Empty 在你的情况下。
    【解决方案2】:

    修复它添加的问题

    if (ddlInnoc.SelectedValue != "0" && Session["pg1dd"] != null)
    {
         ddlInnoc.SelectedValue = Session["pg1dd"].ToString();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      • 2016-02-10
      • 2014-11-30
      • 2018-04-05
      相关资源
      最近更新 更多