dropdownlist控件取不到值是怎么回事,帮忙了

ycc2008 2004-07-30 08:20:43
if(!Page.IsPostBack)
{
//数据源,省略
DropDownList1.DataSource=数据源;
DropDownList1.DataTextField = "FieldName"
DropDownList1.DataValueField = "FieldType"
DropDownList1.DataBind()
}
有一个按钮,然后点击按钮,但是却取不到这个控件的值,怎么回事呢?
数据绑定完全正常,都正确显示出来了,查看html源文件都是正常的,如果把绑定写在IsPostBack倒是能取到值,不过总是取的第一个值
...全文
312 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
wurf0 2004-07-30
  • 打赏
  • 举报
回复
呵呵,这个我也碰到过:是EnableViewState=false的原因,看看你的web.config文件,和当前页面的设置吧!
rickjelly2004 2004-07-30
  • 打赏
  • 举报
回复
是不是你去出来的数据中,所有的VALUE都是空呀,
看看你的VALUE就是DropDownList1.DataValueField = "FieldType"
是不是空
chNET 2004-07-30
  • 打赏
  • 举报
回复

try

DropDownList1.AutoPostBack = false;

......

private void Button1_Click(object sender, System.EventArgs e)
{
Response.Write(DropDownList1.SelectedItem.Text.Trim());
}
zjjszw 2004-07-30
  • 打赏
  • 举报
回复
按鈕里面怎么寫的?
dayasky 2004-07-30
  • 打赏
  • 举报
回复
DropDownList1.SelectedValue
ycc2008 2004-07-30
  • 打赏
  • 举报
回复
我现在用的是在if(!IsPostBack){}里面绑定的,取不到值
如果改成在外面的话,点击按钮后取的值总是一样的,就是下拉框的第一个值
ycc2008 2004-07-30
  • 打赏
  • 举报
回复
如果是提前绑定好的,就是人工输入的就好用,如果是从数据库绑定的,点击按钮就不能取到值了
按钮事件很简单,就是string aa = ddlRole.SelectedItem.Value.ToString();
joffre 2004-07-30
  • 打赏
  • 举报
回复
看看Page_Load的时候是否有反复绑定这个控件的值?
如果有,要写在If(!IsPostBack){}里面
jrh9981 2004-07-30
  • 打赏
  • 举报
回复
不要把代码放在 Page.IsPostBack里面试试看
BubbleInDiamond 2004-07-30
  • 打赏
  • 举报
回复
http://chs.gotdotnet.com/quickstart/aspplus/samples/webforms/DataBind/VB/DataBind3.aspx

http://chs.gotdotnet.com/quickstart/util/srcview.aspx?path=/quickstart/aspplus/samples/webforms/DataBind/DataBind3.src

微软的示例,比较一下可知
lxcc 2004-07-30
  • 打赏
  • 举报
回复
设置AutoPostback=true
sgp1201 2004-07-30
  • 打赏
  • 举报
回复
我用过是对的啊,用法和你的差不多!你看看我的吧!
if(!IsPostBack)
{
GetRole();

}
private void GetRole()
{
DataSet ds = new DataSet() ;
kqOperDB SelDb = new kqOperDB() ;
SelDb.kqTable ="Role" ;
SelDb.kqSelSql = "select RoleCode,RoleName from Role " ;
ds=SelDb.SelDb();
Cache["dvRole"]= ds.Tables[0].DefaultView ;

ddlRole.Items.Clear();
ddlRole.Items.Add("");
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
ListItem Item1 = new ListItem(ds.Tables[0].Rows[i][1].ToString(),ds.Tables[0].Rows[i][0].ToString());
//ddlRole.Items.Add(dsRole.Tables["AllRole"].Rows[i].ItemArray[1].ToString());
ddlRole.Items.Add(Item1);
}
}

string aa = ddlRole.SelectedItem.Value.ToString();
guohaijun 2004-07-30
  • 打赏
  • 举报
回复
你试着把代码编码方式改改试试!即:
gb2132改成utf-8
sicainiao 2004-07-30
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3221/3221996.xml?temp=3.063601E-02

去这里看看。。
BillTuan 2004-07-30
  • 打赏
  • 举报
回复
要在服务器脚本取listitem.value的.

你不是用的是html dropdown吧?如果是的话用JS在客户端可以取数据,在服务器取数据可麻烦喽,呵呵...看你的代码还真象html的 dropdown!
KongXiangxin 2004-07-30
  • 打赏
  • 举报
回复
把你的按钮事件贴出来看看阿
ycc2008 2004-07-30
  • 打赏
  • 举报
回复
不行啊,这样就自动回发了呀
tongcheng 2004-07-30
  • 打赏
  • 举报
回复
DropDownList1 的属性AutoPostBack设置未 true

ycc2008 2004-07-30
  • 打赏
  • 举报
回复
EnableViewState,AutoPostBack反复的我都试过了,绑定的完全正常,在html源文件中显示的都是<select...><option value="1">yi</option>...><option value="2">er</option>....</select>
在按钮事件中string aaa=DropDownList1.SelectedValue;得不到aaa值

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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