取不到DropDownList的值

问题描述

我在网页上做了几个动态生成的下拉菜单,可是当我选择好下拉菜单中的值,再想提交到数据库时,总是取到第一个值,请问怎么解决?部分代码:staticDropDownList[,]ddl;for(inti=0;i<numOfUsers;i++){for(intj=i+1;j<numOfUsers;j++){ddl[i,j]=newDropDownList();ddl[i,j].Items.Add(newListItem("次要","0.25"));ddl[i,j].Items.Add(newListItem("较次要","0.5"));ddl[i,j].Items.Add(newListItem("相当","1"));ddl[i,j].Items.Add(newListItem("较重要","2"));ddl[i,j].Items.Add(newListItem("重要","4"));}}我在页面上选择以后,用ddl[i,j].SelectedValue或者SelectedItem.Text都只是取道第一个值,为什么啊??

解决方案

解决方案二:
代码放在if(!Page.IsPostBack){//放这里面}
解决方案三:
访问我的博客程序员日记
解决方案四:
引用1楼yangqidong的回复:

代码放在if(!Page.IsPostBack){//放这里面}

是asp。net的,应改是这个原因!
解决方案五:
for那段我是放在!IsPostBack里面的,很奇怪啊
解决方案六:
publicpartialclassGroupSubmit:System.Web.UI.Page{DataBasedb=newDataBase();staticintnumOfUsers;staticstring[]userId;staticDropDownList[,]ddl;staticstringtable;stringgid="1";protectedvoidPage_Load(objectsender,EventArgse){if(!Page.IsPostBack){db.Open();//填充实验选择菜单stringselectProject="selectPno,PnamefromProject";SqlDataReaderprojectReader=db.SelectReader(selectProject);while(projectReader.Read()){SelectProject.Items.Add(newListItem("实验"+projectReader[0]+""+projectReader[1],projectReader[0].ToString()));}projectReader.Close();//读取小组人数stringrNumOfUsers="selectcount(*)fromGroupMemberwhereGno='"+gid+"'";numOfUsers=Convert.ToInt32(db.SelectResult(rNumOfUsers));//读取小组成员学号stringrUserId="selectuserIdfromGroupMemberwhereGno='"+gid+"'";SqlDataReaderuseridReader=db.SelectReader(rUserId);userId=newstring[numOfUsers];for(inti=0;i<numOfUsers;i++){useridReader.Read();userId[i]=useridReader[0].ToString();}useridReader.Close();db.Close();ddl=newDropDownList[numOfUsers,numOfUsers];for(inti=0;i<numOfUsers;i++){for(intj=i+1;j<numOfUsers;j++){ddl[i,j]=newDropDownList();ddl[i,j].Items.Add(newListItem("次要","0.25"));ddl[i,j].Items.Add(newListItem("较次要","0.5"));ddl[i,j].Items.Add(newListItem("相当","1"));ddl[i,j].Items.Add(newListItem("较重要","2"));ddl[i,j].Items.Add(newListItem("重要","4"));}}DrawTable();//Consistency();}//db.Close();}protectedvoidDrawTable(){stringisCommited="";switch(SelectPart.Text){case"Coding":table="User_Project_Coding";isCommited="selectCodingCmmtfromGroup_Project_MarkwhereGno='"+gid+"'andPno='"+SelectProject.SelectedValue+"'";break;case"Testing":table="User_Project_Testing";isCommited="selectTestingCmmtfromGroup_Project_MarkwhereGno='"+gid+"'andPno='"+SelectProject.SelectedValue+"'";break;case"Report":table="User_Project_Report";isCommited="selectReportCmmtfromGroup_Project_MarkwhereGno='"+gid+"'andPno='"+SelectProject.SelectedValue+"'";break;}db.Open();intcmmtValue=Convert.ToInt32(db.SelectResult(isCommited));if(cmmtValue==0){stat.Text="状态:尚未提交";Button1.Enabled=true;}elseif(cmmtValue==1){stat.Text="状态:已提交,可修改";Button1.Enabled=true;}elseif(cmmtValue==2){stat.Text="状态:已提交,不可修改";Button1.Enabled=false;}//第一行TableRowfirstRow=newTableRow();MatrixTable.Rows.Add(firstRow);//第一行第一个单元格TableCellfirstRowFirstCell=newTableCell();firstRow.Cells.Add(firstRowFirstCell);for(intcellCtr=0;cellCtr<numOfUsers;cellCtr++){//第一行其他单元格TableCellfirstRowOtherCell=newTableCell();firstRowOtherCell.Text=userId[cellCtr];firstRow.Cells.Add(firstRowOtherCell);}for(introwCtr=0;rowCtr<numOfUsers;rowCtr++){//其他几行TableRowotherRow=newTableRow();MatrixTable.Rows.Add(otherRow);TableCellotherRowFirstCell=newTableCell();otherRowFirstCell.Text=userId[rowCtr];otherRow.Cells.Add(otherRowFirstCell);for(intcellCtr=0;cellCtr<numOfUsers;cellCtr++){TableCellotherRowOtherCell=newTableCell();if(cellCtr>rowCtr){if(cmmtValue==1){//已提交,教师未确认的情况stringrtnResult="selectresultfrom"+table+"whereuserIdA='"+userId[rowCtr]+"'anduserIdB='"+userId[cellCtr]+"'";doublertn=Convert.ToDouble(db.SelectResult(rtnResult));if(rtn==0.25){ddl[rowCtr,cellCtr].SelectedValue="0.25";}elseif(rtn==0.5){ddl[rowCtr,cellCtr].SelectedValue="0.5";}elseif(rtn==1){ddl[rowCtr,cellCtr].SelectedValue="1";}elseif(rtn==2){ddl[rowCtr,cellCtr].SelectedValue="2";}elseif(rtn==4){ddl[rowCtr,cellCtr].SelectedValue="4";}}elseif(cmmtValue==2){//已提交,教师已确认的情况stringrtnResult="selectresultfrom"+table+"whereuserIdA='"+userId[rowCtr]+"'anduserIdB='"+userId[cellCtr]+"'";doublertn=Convert.ToDouble(db.SelectResult(rtnResult));if(rtn==0.25){ddl[rowCtr,cellCtr].SelectedValue="0.25";}elseif(rtn==0.5){ddl[rowCtr,cellCtr].SelectedValue="0.5";}elseif(rtn==1){ddl[rowCtr,cellCtr].SelectedValue="1";}elseif(rtn==2){ddl[rowCtr,cellCtr].SelectedValue="2";}elseif(rtn==4){ddl[rowCtr,cellCtr].SelectedValue="4";}MatrixTable.Enabled=false;}otherRowOtherCell.Controls.Add(ddl[rowCtr,cellCtr]);//将创建的DropDownList增加到单元格内}otherRow.Cells.Add(otherRowOtherCell);}}db.Close();}.....}
解决方案七:
DrawTable();把这句搬到!IsPostBack外面貌似就可以了,不过为什么啊,谁能告诉我
解决方案八:
把DropDownList的AutoPostBack的值改为True
解决方案九:

解决方案十:
法师法师打死
解决方案十一:
用ddl.Text.Trim()就可以了

时间: 2024-09-19 08:13:43

取不到DropDownList的值的相关文章

请问在GridView的模板列中如何才能或取到其中的DropDownList的值?

问题描述 请问在GridView的模板列中如何才能或取到其中的DropDownList的值?我在代码中写的是stringCYNL=(DropDownList)GridView1.FindControl("tbXZJD").SelectedValue;但是提示说没有"SelectedValue"属性,请问怎么才能获取到DropDownList控件的值呢?多谢大家帮忙 解决方案 解决方案二:stringCYNL=((DropDownList)(GridView1.Fin

怎么在cs文件中调用DropDownList获取值

问题描述 aspx文件:<asp:DropDownListID="DropDownList1"runat="server"AutoPostBack="True"OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"><asp:ListItemValue="不限">不限</asp:ListItem><as

asp.Net JS取母板页控件值的简单方法

这篇文章介绍了asp.Net JS取母板页控件值的简单方法,有需要的朋友可以参考一下   复制代码 代码如下: <script type="text/javascript" language="javascript">        function Check() {            var text = parent.document.getElementById('<%=HiddenField1.ClientID %>');  /

JS无法取到select选中的值

问题描述 JS无法取到select选中的值 JS代码 var timeinterval = $('#timeinterval option:selected').val(); alert(timeinterval); var myselect = document.getElementById("timeinterval"); var index = myselect.selectedIndex; alert(myselect.options[index].value); HTML代码

zTree如何只取子节点的id值

问题描述 zTree如何只取子节点的id值 zTree如何只取子节点的id值,目前项目中不需要取父节点的值,如何取得所有的子节点的值? 解决方案 1.获取当前节点 2.用ztree的方法transformToArray()获取当前选中节点(含选中节点)的子节点对象集合. 3.遍历集合,取出需要的值. function getChildNodes(treeNode) { var childNodes = ztree.transformToArray(treeNode); var nodes = n

mvc4 中用Ext.Net 的TreePanel如何取到点击节点的值

问题描述 mvc4 中用Ext.Net 的TreePanel如何取到点击节点的值 代码如下 @( Html.X() .TreePanel() .Title("Tree") .Width(300) .Height(300) .Border(false) .Root(Html.X().Node().NodeID("1").Text("文具")) .Listeners(l => l.BeforeLoad.Fn = "nodeLoad&q

操作-asp.net第三方支付,提交成功也返回了支付成功,但是页面取不到返回的值,

问题描述 asp.net第三方支付,提交成功也返回了支付成功,但是页面取不到返回的值, 这样我没办法进行下一步的判断操作,request.querystring,取不到值啊 ,郁闷 解决方案 不知你调用第三方支付的方式,应该是访问第三方的网页,返回应该是html文本内容,调用第三方支付是在客户端还是在服务端?建议在服务端,应该解析返回的字符串,request.querystring是自己客户端发的请求,当然没值了. 解决方案二: 第三方支付,成功后会跳转到你站点某指定路径,并在URL带一些参数返

mybatis-springmvc后台如何取到checkbox属性的值

问题描述 springmvc后台如何取到checkbox属性的值 我正在做一个权限管理,超级管理员可以设置其他管理员的权限,在设置权限的页面,从后台读取到当前管理员的权限,有这个权限复选框就打勾,没有就不打,在这个页面也可以修改他们的权限,也即是说可以勾选或者取消勾选,然后传到后台写入数据库,现在问题就是如何在后台控制器取到前台勾选或者不勾选复选框的值呢?我一直取不到checkbox里面的值,不知道怎么办了~我用的是springmvc+mybatis+spring的框架~求大神围观帮小弟解决问题

javascript-用ecshop开源程序,js里取不到页面的值

问题描述 用ecshop开源程序,js里取不到页面的值 代码如下,了解的哥们加我QQ113900176(注明csdn) /* * 添加商品到购物车 */ function addToCart(goodsId, parentId) { var goods = new Object(); var spec_arr = new Array(); var fittings_arr = new Array(); var number = 1; var formBuy = document.forms['E