this.name.SelectedItem.Selected = false;
string tlmbk = row["name"].ToString();
for (int i = 0; i < this.name.Items.Count; i++)
if (this.name.Items[i].Value == tlmbk)
{
this.name .Items[i].Selected = true;
break;
}
}
为什么报 this.ggw.SelectedItem.Selected = false;错 说没用NEW创建对象
但把this.ggw.SelectedItem.Selected = false去掉 不报错 但值赋不过去
这问题怎么解决啊 谢谢
string tlmbk = row["name"].ToString();
for (int i = 0; i < this.name.Items.Count; i++)
if (this.name.Items[i].Value == tlmbk)
{
this.name .Items[i].Selected = true;
break;
}
}
为什么报 this.ggw.SelectedItem.Selected = false;错 说没用NEW创建对象
但把this.ggw.SelectedItem.Selected = false去掉 不报错 但值赋不过去
这问题怎么解决啊 谢谢
写这个做什么?
莫明奇妙
this.name.SelectedItem.Selected是变量?
for (int i = 0; i < this.name.Items.Count; i++)
if (this.name.Items[i].Value == tlmbk)
{
this.name .Items[i].Selected = true;
break;
}
}
为什么赋值不到给name这个DROPDOWNLIST
DataSet myDs = my.GetDataset(sql);
DataRow row = myDs.Tables[0].Rows[0];
title.Text = row["title"].ToString();
string tlmbk = row["name"].ToString();
for (int i = 0; i < this.name.Items.Count; i++)
if (this.name.Items[i].Value == tlmbk)
{
this.name .Items[i].Selected = true;
break;
}
}
title.Text这个文本框能赋值过去, 但name这个下拉列表不能赋值过去 怎么回事啊
还是值赋不过去
DataSet myDs = my.GetDataset(sql);
DataRow row = myDs.Tables[0].Rows[0];
title.Text = row["title"].ToString();
string tlmbk = row["name"].ToString(); this.name.items.findbytext(tlmbk).select=true;name应该是一个dropdownlist吧,这样应该可以的。
如果是上面这语句的话他就报
未将对象引用设置到对象的实例。
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using DataBase;public partial class Editadv : System.Web.UI.Page
{
protected dataBase my = new dataBase();
protected DataSet myDs = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Displaylist();
namebind();
}
}
protected void namebind()
{
String sqlStr = "select * from Tname";
DataSet myDs = my.GetDataset(sqlStr);
name.DataSource = myDs.Tables[0];
name.DataTextField = "name";
name.DataValueField = "id";
name.DataBind();
}
protected void Displaylist()
{
string ID = Request["advid"].ToString();
String sql = " "
DataSet myDs = my.GetDataset(sql);
DataRow row = myDs.Tables[0].Rows[0];
title.Text = row["title"].ToString();
this.name.SelectedItem.Selected = false;
string tlmbk = row["name"].ToString();
//Response.Write(tlmbk);
for (int i = 0; i < this.name.Items.Count; i++)
{
if (this.name.Items[i].Value == tlmbk)
{
this.name.Items.FindByText(tlmbk).Selected = true;
break;
}
}}
全部代码都在了
title.Text这个文本框能赋值过去, 但name这个下拉列表不能赋值过去
这句报未将对象引用设置到对象的实例。
这句是取消取消下拉框的默认选项
但去掉这句 虽然不报错 但还是赋不了值过去 我郁闷
其次赋值不过去是报错还是执行后没效果?
如果我不加this.name.SelectedItem.Selected = false; 他就显示绑定的的哪个 不是接受要赋值的哪个了
for (int i = 0; i < this.name.Items.Count; i++)
{
if (this.name.Items[i].Value == tlmbk)
{
this.name.Items.FindByText(tlmbk).Selected = true;
break;
}
换成
String sqle = "select id,name from Tlmbk where id="+ID; DataSet ddl = my.GetDataset(sqle);
lmbk.DataSource = ddl.Tables[0];
lmbk.DataTextField = "name";
lmbk.DataValueField = "id";
lmbk.DataBind(); 就能赋值过去
你所谓的赋值不过去到底是报错还是没效果了?
{
Displaylist();
namebind();
}
你看你写的这个,首先就进行赋值,然后查询数据库进行绑定,当然没效果
{
Displaylist();
namebind();
}
换过来也不行啊
name.DataTextField = "name"; ---text才是name
name.DataValueField = "id";if (this.name.Items[i].Value == tlmbk)---可你用的是value来判断
{
if (!IsPostBack)
{
lmbkbind();
DisplayAdvlist();
}
}
protected void lmbkbind()
{
}
protected void DisplayAdvlist()
{
string ID = Request["advid"].ToString();
String sql = "select id,name,title from table where id=" +ID;
DataSet myDs = my.GetDataset(sql);
DataRow row = myDs.Tables[0].Rows[0];
title.Text = row["title"].ToString();
string tlmbk = row["name"].ToString();
for (int i = 0; i < this.lmbk.Items.Count; i++)
{
if (this.lmbk.Items[i].Value == tlmbk)
{
this.lmbk.Items[i].Selected = true;
break;
}
}
没有效果
现在我是这么写的
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
lmbkbind();
DisplayAdvlist();
}
}
protected void lmbkbind()
{
}
protected void DisplayAdvlist()
{
string ID = Request["advid"].ToString();
String sql = "select Tadv.id,url, title,advtype,lmbk,sxpl,text,re,Tlmbk.id, name from Tadv inner join Tlmbk on Tadv.lmbk=Tlmbk.id where Tadv.id=" +ID;
DataSet myDs = my.GetDataset(sql);
DataRow row = myDs.Tables[0].Rows[0];
title.Text = row["title"].ToString();
String sqle = "select id,name from Tlmbk where id="+ID;
DataSet ddl = my.GetDataset(sqle);
lmbk.DataSource = ddl.Tables[0];
lmbk.DataTextField = "name";
lmbk.DataValueField = "id";
lmbk.DataBind();
也没效果 但如果把
if (!IsPostBack)
{
lmbkbind();
DisplayAdvlist();
}变成
if (!IsPostBack)
{
DisplayAdvlist();
}
这个才有效果