【问题标题】:AutoPostBack= "true" not functioning properly with dropdown list asp.netAutoPostBack="true" 下拉列表 asp.net 无法正常工作
【发布时间】:2013-02-08 13:43:04
【问题描述】:

我有一个下拉列表,其中填充了数据库表中的值,当您从列表中选择一个值时,会出现一个转发器并显示有关该选定值的额外详细信息。唯一的问题是页面只刷新选择的第一个值,如果您尝试进行不同的选择,页面不会改变。

中继器似乎工作正常,但下拉列表中的 AutoPost 肯定有问题。

<asp:DropDownList ID="DropDownList1" Width="150px" runat="server" DataSourceID="SqlDataSource1" DataTextField="LCID" DataValueField="LCID" EnableViewState="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack= "true" >

 </asp:DropDownList>

这是来自 aspx.cs 文件的代码:

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{

    Response.Redirect("http://localhost:31003/?LCID="+ DropDownList1.SelectedValue);


}
}

如果有人能看到我的程序中缺少的内容,我将不胜感激,谢谢。

【问题讨论】:

  • 在页面加载时绑定DataSourceID有什么用?
  • 我在 Visual Studio 的设计视图中使用配置数据源功能创建了这个下拉列表,所以除了 autoPostBack 之外,大部分已经存在。我删除了它,但是 DataSourceID 是从数据库表中获取值的,没有它下拉列表是空的

标签: asp.net drop-down-menu autopostback


【解决方案1】:

您在Response.Redirect 中缺少PageName

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    Response.Redirect("~/PageName.aspx?LCID="+ DropDownList1.SelectedValue);
}

【讨论】:

  • 这仍然没有解决问题,但可能很好。
  • 非常感谢!这似乎已经解决了问题:)
  • 很抱歉在一个问题中提出另一个问题,但你似乎知道这些东西,而我是全新的。我正在尝试从我的数据库中获取 DateTime 并将其放入我网页的标签中。我试过: 但这没有用.你有什么建议吗?
猜你喜欢
  • 2012-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-27
相关资源
最近更新 更多