我用placeholder加载了一个dropdownlist控件,而dropdownlist的id是动态从数据库中读出然后有存放到了session[]里面.
代码如下:
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
Table mytb = new Table();
mytb.BorderWidth =1;
string TYPE_ID = GridView1.SelectedValue.ToString();
string[] strID=new string[5];
string[] strTITLE=new string[5];
string[] strk = new string[200];
Int16 k=0;
SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\PJS.mdf;Integrated Security=True;User Instance=True");//建立数据库连接con
SqlCommand com1 = new SqlCommand("SELECT COUNT(*) FROM PJ_STAND WHERE parents=@ID1", con);
com1.Parameters.Add("@ID1", TYPE_ID);
con.Open();//打开连接
Int16 count2 = 0;//定义二级分类的个数(即评教体系的个数)
count2 =Convert.ToInt16(com1.ExecuteScalar());
SqlCommand com2 = new SqlCommand("SELECT DISTINCT TITLE,ID FROM PJ_STAND WHERE PARENTS=@ID1", con);
com2.Parameters.Add("@ID1", TYPE_ID);
SqlDataReader DR = com2.ExecuteReader();
Int16 i=0;
try
{
while(DR.Read())
{
strID[i] = DR["ID"].ToString();//把二级分类的ID存入strID[]数组
strTITLE[i] = DR["TITLE"].ToString();//把二级分类的TITLE存入数组strTITLE[]
i++;
}
}
finally
{
DR.Close();
}
for (; i > 0; i--) {
string[] gs = new string[20];
TableRow tr = new TableRow();
TableCell tc = new TableCell();
tc.Text = strTITLE[i-1];
tc.BorderWidth =1;
tr.Cells.Add(tc);
mytb.Rows.Add(tr);
SqlCommand comcount = new SqlCommand("SELECT COUNT(*) FROM PJ_STAND WHERE PARENTS=@IDCOUNT", con);
comcount.Parameters.Add("@IDCOUNT", strID[i - 1]);
Int16 count3 =Convert.ToInt16( comcount.ExecuteScalar());
tc.RowSpan = (count3 + 1);
SqlCommand com3 = new SqlCommand("SELECT DISTINCT TITLE,ID FROM PJ_STAND WHERE PARENTS=@ID1", con);
com3.Parameters.Clear ();
com3.Parameters.Add("@ID1",strID[i-1]);
SqlDataReader mydr = com3.ExecuteReader();
Int16 j = 0;
while (mydr.Read()) {
////////////////////////////////////////
TableRow trr = new TableRow();
TableCell tcr = new TableCell();
tcr.Text = mydr["title"].ToString();
tcr.BorderWidth = 1;
trr.Cells.Add(tcr);
mytb.Rows.Add(trr);
/////////////////////////////////////////
DropDownList ddl = new DropDownList();
ddl.ID = mydr["ID"].ToString();
gs[j] = ddl.ID;
strk[k] = ddl.ID;
k++;
Session[k.ToString()] = ddl.ID;
Label1.Text += Session[k.ToString()].ToString();
//Label1.Text += Session[k.ToString()].ToString();
j++;
ddl.Items.Add(new ListItem("1"));
ddl.Items.Add(new ListItem("2"));
ddl.Items.Add(new ListItem("3"));
ddl.Items.Add(new ListItem("4"));
ddl.Items.Add(new ListItem("5"));
ddl.Items.Add(new ListItem("6"));
ddl.Items.Add(new ListItem("7"));
ddl.Items.Add(new ListItem("8"));
ddl.Items.Add(new ListItem("9"));
ddl.Items.Add(new ListItem("10"));
///////////////////////////////////////////////////////////////
TableCell tcd = new TableCell();
tcd.BorderWidth = 1;
trr.Cells.Add(tcd);
string str = "";
if (tcr.Text != str)
{
tcd.Controls.Add(ddl);
}
}
mydr.Close();
PlaceHolder1.Controls.Add(mytb);
}
con.Close();
Session["count"] = k;
} /// <summary>
/// //////////////////////////////////////////////////////////////
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{ string [] str=new string[20];
Int16 i = 0;
string type_id = GridView1.SelectedValue.ToString();
//string stu_id = Session["studentID"].ToString();
string tea_id = GridView1.SelectedRow.Cells[1].ToString();
DateTime time = DateTime.Today;
for (; i <Convert.ToInt16( Session["count"]); i++) {
//DropDownList ddl = PlaceHolder1.FindControl(Session[i.ToString()].ToString()) as DropDownList;
//Response.Write(Convert.ToInt16(Session[i.ToString()]));
DropDownList ddl = PlaceHolder1.FindControl(Session[i.ToString()) as DropDownList;
Response.Write(ddl.SelectedItem.ToString());
}
}
可是不能显示所选的值?why
代码如下:
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
Table mytb = new Table();
mytb.BorderWidth =1;
string TYPE_ID = GridView1.SelectedValue.ToString();
string[] strID=new string[5];
string[] strTITLE=new string[5];
string[] strk = new string[200];
Int16 k=0;
SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\PJS.mdf;Integrated Security=True;User Instance=True");//建立数据库连接con
SqlCommand com1 = new SqlCommand("SELECT COUNT(*) FROM PJ_STAND WHERE parents=@ID1", con);
com1.Parameters.Add("@ID1", TYPE_ID);
con.Open();//打开连接
Int16 count2 = 0;//定义二级分类的个数(即评教体系的个数)
count2 =Convert.ToInt16(com1.ExecuteScalar());
SqlCommand com2 = new SqlCommand("SELECT DISTINCT TITLE,ID FROM PJ_STAND WHERE PARENTS=@ID1", con);
com2.Parameters.Add("@ID1", TYPE_ID);
SqlDataReader DR = com2.ExecuteReader();
Int16 i=0;
try
{
while(DR.Read())
{
strID[i] = DR["ID"].ToString();//把二级分类的ID存入strID[]数组
strTITLE[i] = DR["TITLE"].ToString();//把二级分类的TITLE存入数组strTITLE[]
i++;
}
}
finally
{
DR.Close();
}
for (; i > 0; i--) {
string[] gs = new string[20];
TableRow tr = new TableRow();
TableCell tc = new TableCell();
tc.Text = strTITLE[i-1];
tc.BorderWidth =1;
tr.Cells.Add(tc);
mytb.Rows.Add(tr);
SqlCommand comcount = new SqlCommand("SELECT COUNT(*) FROM PJ_STAND WHERE PARENTS=@IDCOUNT", con);
comcount.Parameters.Add("@IDCOUNT", strID[i - 1]);
Int16 count3 =Convert.ToInt16( comcount.ExecuteScalar());
tc.RowSpan = (count3 + 1);
SqlCommand com3 = new SqlCommand("SELECT DISTINCT TITLE,ID FROM PJ_STAND WHERE PARENTS=@ID1", con);
com3.Parameters.Clear ();
com3.Parameters.Add("@ID1",strID[i-1]);
SqlDataReader mydr = com3.ExecuteReader();
Int16 j = 0;
while (mydr.Read()) {
////////////////////////////////////////
TableRow trr = new TableRow();
TableCell tcr = new TableCell();
tcr.Text = mydr["title"].ToString();
tcr.BorderWidth = 1;
trr.Cells.Add(tcr);
mytb.Rows.Add(trr);
/////////////////////////////////////////
DropDownList ddl = new DropDownList();
ddl.ID = mydr["ID"].ToString();
gs[j] = ddl.ID;
strk[k] = ddl.ID;
k++;
Session[k.ToString()] = ddl.ID;
Label1.Text += Session[k.ToString()].ToString();
//Label1.Text += Session[k.ToString()].ToString();
j++;
ddl.Items.Add(new ListItem("1"));
ddl.Items.Add(new ListItem("2"));
ddl.Items.Add(new ListItem("3"));
ddl.Items.Add(new ListItem("4"));
ddl.Items.Add(new ListItem("5"));
ddl.Items.Add(new ListItem("6"));
ddl.Items.Add(new ListItem("7"));
ddl.Items.Add(new ListItem("8"));
ddl.Items.Add(new ListItem("9"));
ddl.Items.Add(new ListItem("10"));
///////////////////////////////////////////////////////////////
TableCell tcd = new TableCell();
tcd.BorderWidth = 1;
trr.Cells.Add(tcd);
string str = "";
if (tcr.Text != str)
{
tcd.Controls.Add(ddl);
}
}
mydr.Close();
PlaceHolder1.Controls.Add(mytb);
}
con.Close();
Session["count"] = k;
} /// <summary>
/// //////////////////////////////////////////////////////////////
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{ string [] str=new string[20];
Int16 i = 0;
string type_id = GridView1.SelectedValue.ToString();
//string stu_id = Session["studentID"].ToString();
string tea_id = GridView1.SelectedRow.Cells[1].ToString();
DateTime time = DateTime.Today;
for (; i <Convert.ToInt16( Session["count"]); i++) {
//DropDownList ddl = PlaceHolder1.FindControl(Session[i.ToString()].ToString()) as DropDownList;
//Response.Write(Convert.ToInt16(Session[i.ToString()]));
DropDownList ddl = PlaceHolder1.FindControl(Session[i.ToString()) as DropDownList;
Response.Write(ddl.SelectedItem.ToString());
}
}
可是不能显示所选的值?why
解决方案 »
- C# session 存不了Table
- 几条选择题?
- 怎样调用一个 动态创建的用户自定义控件 里的某个方法或事件?
- 新手求帮助,高手进
- 有人用过ASPxGrid吗?如何用程序在ASPxGrid中增加一行?
- 为什么ASP.NET下的程序看不到组件???
- 请问关于动态加入控件的问题。(50分)
- ASP.NET 1.1 咋就这么容易崩溃?
- 我在作window form的datagride 数据删除后,想要重新加载数据,好像在重新绑定数据时,原来的纪录还里面,新数据在原来的基础上一直在增
- win2008r2+iis7 在配置伪静态时在托管处理程序中找不到 System.Web.UI.PageHandlerFactory 这种类型,应该怎么解决?
- 用编辑器上传了图片,这条记录删除了,如何删除这条记录中的图片?
- 难道asp.net只能学到这个层次了吗,高手近来发表心得~~~~~
代码如下:
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
Table mytb = new Table();
mytb.BorderWidth =1;
string TYPE_ID = GridView1.SelectedValue.ToString();
string[] strID=new string[5];
string[] strTITLE=new string[5];
string[] strk = new string[200];
Int16 k=0;
SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\PJS.mdf;Integrated Security=True;User Instance=True");//建立数据库连接con
SqlCommand com1 = new SqlCommand("SELECT COUNT(*) FROM PJ_STAND WHERE parents=@ID1", con);
com1.Parameters.Add("@ID1", TYPE_ID);
con.Open();//打开连接
Int16 count2 = 0;//定义二级分类的个数(即评教体系的个数)
count2 =Convert.ToInt16(com1.ExecuteScalar());
SqlCommand com2 = new SqlCommand("SELECT DISTINCT TITLE,ID FROM PJ_STAND WHERE PARENTS=@ID1", con);
com2.Parameters.Add("@ID1", TYPE_ID);
SqlDataReader DR = com2.ExecuteReader();
Int16 i=0;
try
{
while(DR.Read())
{
strID[i] = DR["ID"].ToString();//把二级分类的ID存入strID[]数组
strTITLE[i] = DR["TITLE"].ToString();//把二级分类的TITLE存入数组strTITLE[]
i++;
}
}
finally
{
DR.Close();
}
for (; i > 0; i--) {
string[] gs = new string[20];
TableRow tr = new TableRow();
TableCell tc = new TableCell();
tc.Text = strTITLE[i-1];
tc.BorderWidth =1;
tr.Cells.Add(tc);
mytb.Rows.Add(tr);
SqlCommand comcount = new SqlCommand("SELECT COUNT(*) FROM PJ_STAND WHERE PARENTS=@IDCOUNT", con);
comcount.Parameters.Add("@IDCOUNT", strID[i - 1]);
Int16 count3 =Convert.ToInt16( comcount.ExecuteScalar());
tc.RowSpan = (count3 + 1);
SqlCommand com3 = new SqlCommand("SELECT DISTINCT TITLE,ID FROM PJ_STAND WHERE PARENTS=@ID1", con);
com3.Parameters.Clear ();
com3.Parameters.Add("@ID1",strID[i-1]);
SqlDataReader mydr = com3.ExecuteReader();
Int16 j = 0;
while (mydr.Read()) {
////////////////////////////////////////
TableRow trr = new TableRow();
TableCell tcr = new TableCell();
tcr.Text = mydr["title"].ToString();
tcr.BorderWidth = 1;
trr.Cells.Add(tcr);
mytb.Rows.Add(trr);
/////////////////////////////////////////
DropDownList ddl = new DropDownList();
ddl.ID = mydr["ID"].ToString();
gs[j] = ddl.ID;
strk[k] = ddl.ID;
k++;
Session[k.ToString()] = ddl.ID;
Label1.Text += Session[k.ToString()].ToString();
//Label1.Text += Session[k.ToString()].ToString();
j++;
ddl.Items.Add(new ListItem("1"));
ddl.Items.Add(new ListItem("2"));
ddl.Items.Add(new ListItem("3"));
ddl.Items.Add(new ListItem("4"));
ddl.Items.Add(new ListItem("5"));
ddl.Items.Add(new ListItem("6"));
ddl.Items.Add(new ListItem("7"));
ddl.Items.Add(new ListItem("8"));
ddl.Items.Add(new ListItem("9"));
ddl.Items.Add(new ListItem("10"));
///////////////////////////////////////////////////////////////
TableCell tcd = new TableCell();
tcd.BorderWidth = 1;
trr.Cells.Add(tcd);
string str = "";
if (tcr.Text != str)
{
tcd.Controls.Add(ddl);
}
}
mydr.Close();
PlaceHolder1.Controls.Add(mytb);
}
con.Close();
Session["count"] = k;
} /// <summary>
/// //////////////////////////////////////////////////////////////
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button1_Click(object sender, EventArgs e)
{ string [] str=new string[20];
Int16 i = 0;
string type_id = GridView1.SelectedValue.ToString();
//string stu_id = Session["studentID"].ToString();
string tea_id = GridView1.SelectedRow.Cells[1].ToString();
DateTime time = DateTime.Today;
for (; i <Convert.ToInt16( Session["count"]); i++) {
//DropDownList ddl = PlaceHolder1.FindControl(Session[i.ToString()].ToString()) as DropDownList;
//Response.Write(Convert.ToInt16(Session[i.ToString()]));
DropDownList ddl = PlaceHolder1.FindControl(Session[i.ToString()) as DropDownList;
Response.Write(ddl.SelectedItem.ToString());
}
}
可是不能显示所选的值?why
DropDownList ddl = PlaceHolder1.FindControl(Session[i.ToString()) as DropDownList;
这里的括号不匹配