取不到DropDownList的值 代码放在if(!Page.IsPostBack){ //放这里面} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 访问我的博客 程序员日记 http://www.ideaext.com 是asp。net的,应改是这个原因! for那段我是放在!IsPostBack里面的,很奇怪啊 public partial class GroupSubmit : System.Web.UI.Page{ DataBase db = new DataBase(); static int numOfUsers; static string[] userId; static DropDownList[,] ddl; static string table; string gid = "1"; protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { db.Open(); //填充实验选择菜单 string selectProject = "select Pno,Pname from Project"; SqlDataReader projectReader = db.SelectReader(selectProject); while (projectReader.Read()) { SelectProject.Items.Add(new ListItem("实验" + projectReader[0] + " " + projectReader[1], projectReader[0].ToString())); } projectReader.Close(); //读取小组人数 string rNumOfUsers = "select count(*) from GroupMember where Gno='" + gid + "'"; numOfUsers = Convert.ToInt32(db.SelectResult(rNumOfUsers)); //读取小组成员学号 string rUserId = "select userId from GroupMember where Gno='" + gid + "'"; SqlDataReader useridReader = db.SelectReader(rUserId); userId = new string[numOfUsers]; for (int i = 0; i < numOfUsers; i++) { useridReader.Read(); userId[i] = useridReader[0].ToString(); } useridReader.Close(); db.Close(); ddl = new DropDownList[numOfUsers, numOfUsers]; for (int i = 0; i < numOfUsers; i++) { for (int j = i + 1; j < numOfUsers; j++) { ddl[i,j] = new DropDownList(); ddl[i,j].Items.Add(new ListItem(" 次要 ", "0.25")); ddl[i,j].Items.Add(new ListItem("较次要", "0.5")); ddl[i,j].Items.Add(new ListItem(" 相当 ", "1")); ddl[i,j].Items.Add(new ListItem("较重要", "2")); ddl[i,j].Items.Add(new ListItem(" 重要 ", "4")); } } DrawTable(); //Consistency(); } //db.Close(); } protected void DrawTable() { string isCommited=""; switch (SelectPart.Text) { case "Coding": table = "User_Project_Coding"; isCommited = "select CodingCmmt from Group_Project_Mark where Gno='" + gid + "' and Pno='" + SelectProject.SelectedValue + "'"; break; case "Testing": table = "User_Project_Testing"; isCommited = "select TestingCmmt from Group_Project_Mark where Gno='" + gid + "' and Pno='" + SelectProject.SelectedValue + "'"; break; case "Report": table = "User_Project_Report"; isCommited = "select ReportCmmt from Group_Project_Mark where Gno='" + gid + "' and Pno='" + SelectProject.SelectedValue + "'"; break; } db.Open(); int cmmtValue = Convert.ToInt32(db.SelectResult(isCommited)); if (cmmtValue == 0) { stat.Text = "状态:尚未提交"; Button1.Enabled = true; } else if (cmmtValue == 1) { stat.Text = "状态:已提交,可修改"; Button1.Enabled = true; } else if (cmmtValue == 2) { stat.Text = "状态:已提交,不可修改"; Button1.Enabled = false; } //第一行 TableRow firstRow = new TableRow(); MatrixTable.Rows.Add(firstRow); //第一行第一个单元格 TableCell firstRowFirstCell = new TableCell(); firstRow.Cells.Add(firstRowFirstCell); for (int cellCtr = 0; cellCtr < numOfUsers; cellCtr++) {//第一行其他单元格 TableCell firstRowOtherCell = new TableCell(); firstRowOtherCell.Text = userId[cellCtr]; firstRow.Cells.Add(firstRowOtherCell); } for (int rowCtr = 0; rowCtr < numOfUsers; rowCtr++) {//其他几行 TableRow otherRow = new TableRow(); MatrixTable.Rows.Add(otherRow); TableCell otherRowFirstCell = new TableCell(); otherRowFirstCell.Text=userId[rowCtr]; otherRow.Cells.Add(otherRowFirstCell); for (int cellCtr = 0; cellCtr < numOfUsers; cellCtr++) { TableCell otherRowOtherCell = new TableCell(); if(cellCtr>rowCtr) { if (cmmtValue == 1) {//已提交,教师未确认的情况 string rtnResult = "select result from " + table + " where userIdA='" + userId[rowCtr] + "' and userIdB='" + userId[cellCtr] + "'"; double rtn = Convert.ToDouble(db.SelectResult(rtnResult)); if (rtn == 0.25) { ddl[rowCtr, cellCtr].SelectedValue = "0.25"; } else if (rtn == 0.5) { ddl[rowCtr, cellCtr].SelectedValue = "0.5"; } else if (rtn == 1) { ddl[rowCtr, cellCtr].SelectedValue = "1"; } else if (rtn == 2) { ddl[rowCtr, cellCtr].SelectedValue = "2"; } else if (rtn == 4) { ddl[rowCtr, cellCtr].SelectedValue = "4"; } } else if (cmmtValue == 2) {//已提交,教师已确认的情况 string rtnResult = "select result from " + table + " where userIdA='" + userId[rowCtr] + "' and userIdB='" + userId[cellCtr] + "'"; double rtn = Convert.ToDouble(db.SelectResult(rtnResult)); if (rtn == 0.25) { ddl[rowCtr, cellCtr].SelectedValue = "0.25"; } else if (rtn == 0.5) { ddl[rowCtr, cellCtr].SelectedValue = "0.5"; } else if (rtn == 1) { ddl[rowCtr, cellCtr].SelectedValue = "1"; } else if (rtn == 2) { ddl[rowCtr, cellCtr].SelectedValue = "2"; } else if (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 怎样让窗口中的多个控件快速居中? 各位大哥帮我看看怎么就堆栈溢出了呢?? 顺便讲讲C#中属性的get,set是怎么走的.. remoting 开发中C/S的问题 借人气问:后台数据库文件格式 axWebBrowser控件的刷新网页问题 加载dll JS求分析 webBrowser控件的DocumentCompleted事件有些疑惑 如何在C#语言下使用WebBrowser(axWebBrowser)用Post方法传递数据? !!!请问高手.NET下分帧的问题!!! 【求助】MDI窗口右键删除指定的控件问题 那位熟悉视频监控软件开发。价格面议
是asp。net的,应改是这个原因!
{
DataBase db = new DataBase();
static int numOfUsers;
static string[] userId;
static DropDownList[,] ddl;
static string table;
string gid = "1"; protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
db.Open(); //填充实验选择菜单
string selectProject = "select Pno,Pname from Project";
SqlDataReader projectReader = db.SelectReader(selectProject);
while (projectReader.Read())
{
SelectProject.Items.Add(new ListItem("实验" + projectReader[0] + " " + projectReader[1], projectReader[0].ToString()));
}
projectReader.Close(); //读取小组人数
string rNumOfUsers = "select count(*) from GroupMember where Gno='" + gid + "'";
numOfUsers = Convert.ToInt32(db.SelectResult(rNumOfUsers)); //读取小组成员学号
string rUserId = "select userId from GroupMember where Gno='" + gid + "'";
SqlDataReader useridReader = db.SelectReader(rUserId);
userId = new string[numOfUsers];
for (int i = 0; i < numOfUsers; i++)
{
useridReader.Read();
userId[i] = useridReader[0].ToString();
}
useridReader.Close();
db.Close(); ddl = new DropDownList[numOfUsers, numOfUsers];
for (int i = 0; i < numOfUsers; i++)
{
for (int j = i + 1; j < numOfUsers; j++)
{
ddl[i,j] = new DropDownList(); ddl[i,j].Items.Add(new ListItem(" 次要 ", "0.25"));
ddl[i,j].Items.Add(new ListItem("较次要", "0.5"));
ddl[i,j].Items.Add(new ListItem(" 相当 ", "1"));
ddl[i,j].Items.Add(new ListItem("较重要", "2"));
ddl[i,j].Items.Add(new ListItem(" 重要 ", "4"));
}
} DrawTable();
//Consistency();
}
//db.Close();
} protected void DrawTable()
{
string isCommited=""; switch (SelectPart.Text)
{
case "Coding":
table = "User_Project_Coding";
isCommited = "select CodingCmmt from Group_Project_Mark where Gno='" + gid + "' and Pno='" + SelectProject.SelectedValue + "'";
break;
case "Testing":
table = "User_Project_Testing";
isCommited = "select TestingCmmt from Group_Project_Mark where Gno='" + gid + "' and Pno='" + SelectProject.SelectedValue + "'";
break;
case "Report":
table = "User_Project_Report";
isCommited = "select ReportCmmt from Group_Project_Mark where Gno='" + gid + "' and Pno='" + SelectProject.SelectedValue + "'";
break;
}
db.Open();
int cmmtValue = Convert.ToInt32(db.SelectResult(isCommited)); if (cmmtValue == 0)
{
stat.Text = "状态:尚未提交";
Button1.Enabled = true;
}
else if (cmmtValue == 1)
{
stat.Text = "状态:已提交,可修改";
Button1.Enabled = true;
}
else if (cmmtValue == 2)
{
stat.Text = "状态:已提交,不可修改";
Button1.Enabled = false;
} //第一行
TableRow firstRow = new TableRow();
MatrixTable.Rows.Add(firstRow);
//第一行第一个单元格
TableCell firstRowFirstCell = new TableCell();
firstRow.Cells.Add(firstRowFirstCell);
for (int cellCtr = 0; cellCtr < numOfUsers; cellCtr++)
{//第一行其他单元格
TableCell firstRowOtherCell = new TableCell();
firstRowOtherCell.Text = userId[cellCtr];
firstRow.Cells.Add(firstRowOtherCell);
}
for (int rowCtr = 0; rowCtr < numOfUsers; rowCtr++)
{//其他几行
TableRow otherRow = new TableRow();
MatrixTable.Rows.Add(otherRow); TableCell otherRowFirstCell = new TableCell();
otherRowFirstCell.Text=userId[rowCtr];
otherRow.Cells.Add(otherRowFirstCell); for (int cellCtr = 0; cellCtr < numOfUsers; cellCtr++)
{
TableCell otherRowOtherCell = new TableCell();
if(cellCtr>rowCtr)
{ if (cmmtValue == 1)
{//已提交,教师未确认的情况
string rtnResult = "select result from " + table + " where userIdA='" + userId[rowCtr] + "' and userIdB='" + userId[cellCtr] + "'";
double rtn = Convert.ToDouble(db.SelectResult(rtnResult)); if (rtn == 0.25)
{
ddl[rowCtr, cellCtr].SelectedValue = "0.25"; }
else if (rtn == 0.5)
{
ddl[rowCtr, cellCtr].SelectedValue = "0.5";
}
else if (rtn == 1)
{
ddl[rowCtr, cellCtr].SelectedValue = "1";
}
else if (rtn == 2)
{
ddl[rowCtr, cellCtr].SelectedValue = "2";
}
else if (rtn == 4)
{
ddl[rowCtr, cellCtr].SelectedValue = "4";
}
}
else if (cmmtValue == 2)
{//已提交,教师已确认的情况
string rtnResult = "select result from " + table + " where userIdA='" + userId[rowCtr] + "' and userIdB='" + userId[cellCtr] + "'";
double rtn = Convert.ToDouble(db.SelectResult(rtnResult)); if (rtn == 0.25)
{
ddl[rowCtr, cellCtr].SelectedValue = "0.25";
}
else if (rtn == 0.5)
{
ddl[rowCtr, cellCtr].SelectedValue = "0.5";
}
else if (rtn == 1)
{
ddl[rowCtr, cellCtr].SelectedValue = "1";
}
else if (rtn == 2)
{
ddl[rowCtr, cellCtr].SelectedValue = "2";
}
else if (rtn == 4)
{
ddl[rowCtr, cellCtr].SelectedValue = "4";
}
MatrixTable.Enabled = false;
} otherRowOtherCell.Controls.Add(ddl[rowCtr, cellCtr]); //将创建的DropDownList增加到单元格内
}
otherRow.Cells.Add(otherRowOtherCell);
}
}
db.Close();
}
.....
}
把这句搬到!IsPostBack外面貌似就可以了,不过为什么啊,谁能告诉我