DropDownList取不到值的问题

hu8102 2013-12-22 11:55:31



protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DropDownList2.DataSource = new ProjectTypeServer().GetAll();
DropDownList2.DataBind();
}
}

protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{

if (DropDownList2.SelectedIndex == -1)
{
PageBase.alert(Page, "系统错误");
return;
}
}


页面上面是能够读取出来下拉框的,一点击按钮提交就报空值,出完错点确定之后下拉框就没有值了,我根踪调试了一下,发现点击按钮之后DropDownList2.Item.Count的值为0,这是何解?从来没有遇到过这样的问题
...全文
282 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
暖枫无敌 2013-12-22
  • 打赏
  • 举报
回复
那你把if (!IsPostBack)判断去掉吧
hu8102 2013-12-22
  • 打赏
  • 举报
回复
引用 1 楼 taomanman 的回复:
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DropDownList2.DataSource = new ProjectTypeServer().GetAll(); DropDownList2.DataTextField = "某个字段"; DropDownList2.DataValueField = "某个字段"; DropDownList2.DataBind(); } } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { if (DropDownList2.SelectedIndex == -1) { PageBase.alert(Page, "系统错误"); return; } }
<asp:DropDownList ID="DropDownList2" runat="server" DataValueField="PT_ID" DataTextField="PT_Type"> </asp:DropDownList> 已经在前台指定了,我习惯性写在前台
暖枫无敌 2013-12-22
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { DropDownList2.DataSource = new ProjectTypeServer().GetAll(); DropDownList2.DataTextField = "某个字段"; DropDownList2.DataValueField = "某个字段"; DropDownList2.DataBind(); } } protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { if (DropDownList2.SelectedIndex == -1) { PageBase.alert(Page, "系统错误"); return; } }
hu8102 2013-12-22
  • 打赏
  • 举报
回复
引用 6 楼 sp1234 的回复:
asp.net可以做宣传用的简单网页(而不是企业应用程序)。那个时候,你需要首先删除
<form runat=server />
,并且设置页面的 EnableViewState为 fals。 但是这仅仅对网页而言的,不是针对应用程序。
还是不行,EnableViewState我设置为false和true都试了,还是不行
  • 打赏
  • 举报
回复
asp.net可以做宣传用的简单网页(而不是企业应用程序)。那个时候,你需要首先删除
<form runat=server />
,并且设置页面的 EnableViewState为 fals。 但是这仅仅对网页而言的,不是针对应用程序。
  • 打赏
  • 举报
回复
引用 楼主 hu8102 的回复:



    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DropDownList2.DataSource = new ProjectTypeServer().GetAll();
            DropDownList2.DataBind();
        }
    }

    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        
        if (DropDownList2.SelectedIndex == -1)
        {
            PageBase.alert(Page, "系统错误");
            return;
        }
}
页面上面是能够读取出来下拉框的,一点击按钮提交就报空值,出完错点确定之后下拉框就没有值了,我根踪调试了一下,发现点击按钮之后DropDownList2.Item.Count的值为0,这是何解?从来没有遇到过这样的问题
检查一下是否设置 EnableViewstate 为 false 了。
hu8102 2013-12-22
  • 打赏
  • 举报
回复
引用 3 楼 taomanman 的回复:
那你把if (!IsPostBack)判断去掉吧
呵,开玩笑了,去掉那选择框还有什么用

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧