【问题标题】:Why asp.net dropdownlist selectedvalue is not set during postback为什么在回发期间未设置 asp.net dropdownlist selectedvalue
【发布时间】:2013-08-05 07:14:15
【问题描述】:

我在回发期间获取下拉列表的选定值时遇到问题,只是未设置选定值。

但是我可以看到这些值已发布到服务器并且可以在 Response.Form 中找到。

Request.Form["ctl00$ContentPlaceHolder1$ctl00$ddlProvice"]  "4" string

看起来所选值未绑定到下拉列表服务器控件。

我不直接从 Response.Form 读取下拉列表中的选定值。如何解决?

【问题讨论】:

  • 数据是动态添加的吗?你有EnableViewState="false"反对控制吗?
  • 是的,这些值是动态填充的,但是 viewState 是如何影响这一点的呢?
  • 请显示加载数据的代码。
  • 我正在使用来自 ajaxcontroltoolkit 的 cascadedropdownlist。那里的一切都很简单。我已经为此创建了一个测试项目,它正在那里工作。我在将此解决方案应用于现有项目时遇到问题。我可以看到这些值已发布到服务器,但它们没有绑定到服务器控件..
  • 通常,如果您无法在回发时访问值,则表示控件已在页面生命周期中添加到很长时间。即在 Page_Load 之后。您是否因为另一个回发而绑定了此控件?

标签: c# asp.net webforms


【解决方案1】:

您可能正在将DropDownList 绑定到postback 中,这也会覆盖所选索引。您可以将DropDownList 的绑定放入! Page.IsPostBack 块。

if(!Page.IsPostBack)
{
  //bind dropdownlist here
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-28
    • 2012-09-06
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2017-01-28
    • 1970-01-01
    相关资源
    最近更新 更多