Dropdownlist控件绑定数据问题

yongnicheng 2009-12-18 02:38:27
我设计了两个表 一个是类型表 :ID Tpye
1 广告类型
2 图片类型
另外一个表是存资料的 ID Name Tpyes
1 张三 1 --------》对应第一个表中的 广告类型
2 李四 2 --------》对应 图片类型
我在 修改 页面读取出 第二个表中的资料
但是 关于类型怎么读出来?

比如 姓名 张三
类型 _____ (我想这里显示出的是之前选定的 广告类型 ) 这里用的是 dropdownlist 控件 默认显示之前数据库存的类型

请问 怎么做 , ASP。net 大家帮帮忙 !
...全文
148 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
ancestor1 2009-12-19
  • 打赏
  • 举报
回复
Hid.Value = dr["ShowType"].ToString();
设置隐藏域 获取 showType的值
然后再取他的值就可以
this.ShowType.SelectedValue = Hid.Value;
yongnicheng 2009-12-18
  • 打赏
  • 举报
回复
因为 我 发现
this.ShowType.SelectedValue = "TypeID";
中 selectedvalue的值 一直是 1
"TypeID"去不去引号都一样
ivws_19 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 yangzheng1128 的回复:]
我 不加引号还是错了,我发现问题出在 sql语句上,
请问 怎么把 sql语句查出来的值传给变量?
比如
string TypeID = "select ShowType from CustomerInfo where ID="+newsid;
我这句没有获到 showType的值 ,他的值应该是2 但是我没得到

[/Quote]
呃。。你这sql还没执行啊。。
yongnicheng 2009-12-18
  • 打赏
  • 举报
回复
我 不加引号还是错了,我发现问题出在 sql语句上,
请问 怎么把 sql语句查出来的值传给变量?
比如
string TypeID = "select ShowType from CustomerInfo where ID="+newsid;
我这句没有获到 showType的值 ,他的值应该是2 但是我没得到
dd__dd 2009-12-18
  • 打赏
  • 举报
回复
string TypeID = "select ShowType from CustomerInfo where ID="+newsid;
SqlDataAdapter Type = new SqlDataAdapter("select ID ,Types from ShowType", conn);
DataSet dsType = new DataSet();
Type.Fill(dsType, "ShowType");
this.ShowType.DataSource = dsType.Tables["ShowType"].DefaultView;
this.ShowType.DataTextField = "Types";
this.ShowType.DataValueField = "ID";
this.ShowType.SelectedValue = "TypeID";
this.ShowType.DataBind();
你这是要干什么?还没DataBind呢就要赋SelectedValue啊?
ivws_19 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 yangzheng1128 的回复:]
C# codestring TypeID="select ShowType from CustomerInfo where ID="+newsid;
SqlDataAdapter Type=new SqlDataAdapter("select ID ,Types from ShowType", conn);
DataSet dsType=new DataSet();
Type.Fill(dsType,"ShowType");this.ShowType.DataSource= dsType.Tables["ShowType"].DefaultView;this.ShowType.DataTextField="Types";this.ShowType.DataValueField="ID";this.ShowType.SelectedValue="TypeID";this.ShowType.DataBind();
我这样写还是有错,谁帮我看一下 ....
[/Quote]
你怎么还加着引号?this.ShowType.SelectedValue="TypeID";把引号去了
this.ShowType.SelectedValue=TypeID;
yongnicheng 2009-12-18
  • 打赏
  • 举报
回复

string TypeID = "select ShowType from CustomerInfo where ID="+newsid;
SqlDataAdapter Type = new SqlDataAdapter("select ID ,Types from ShowType", conn);
DataSet dsType = new DataSet();
Type.Fill(dsType, "ShowType");
this.ShowType.DataSource = dsType.Tables["ShowType"].DefaultView;
this.ShowType.DataTextField = "Types";
this.ShowType.DataValueField = "ID";
this.ShowType.SelectedValue = "TypeID";
this.ShowType.DataBind();

我这样写还是有错,谁帮我看一下 ....
dd__dd 2009-12-18
  • 打赏
  • 举报
回复
DataTable tb = new DataTable();
//给tb赋数据源,sql语句就如1楼的select ID,Tpye from 类型表
DropDownList1.DataSource = tb;
DropDownList1.DataTextField = "Tpye";
DropDownList1.DataValueField = "ID";
DropDownList1.DataBind();
DropDownList1.SelectedValue = "";//你要赋值ID
cswdcswd 2009-12-18
  • 打赏
  • 举报
回复
//选中一行
protected void gvItem_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
int index = gvItem.SelectedRow.RowIndex;
if (index != -1)
{
LoadData(index);
}
}
catch
{
}
}

//获得选中行的数据
private void LoadData(int index)
{
DataRow row = null;
if (gvItem.PageIndex == 0)
{
row = ds.Tables["Item"].Rows[index];
}
else
{
for (int i = 1; i <= gvItem.PageIndex; i++)
{
index += 20;
}
row = ds.Tables["Item"].Rows[index];
}
txtName.Text = row[1].ToString();
txtDesc.Text = row[2].ToString();


for (int i = 0; i < ddlType.Items.Count; i++)
{
if (ddlType.Items[i].Text == row[5].ToString())
{
ddlType.SelectedIndex = i;
}
}
}
ivws_19 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 yangzheng1128 的回复:]
引用 11 楼 ivws_19 的回复:
this.ShowType.selectedvalue= 你传的id


“ShowType”有一个无效 SelectedValue,因为它不在项目列表中。
参数名: value
我用你的方法出错啊
newsid = Request.Params["id"];
this.ShowType.SelectedValue = "newsid";
[/Quote]
newsid = Request.Params["id"];
this.ShowType.SelectedValue = newsid;
yongnicheng 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ivws_19 的回复:]
this.ShowType.selectedvalue= 你传的id
[/Quote]

“ShowType”有一个无效 SelectedValue,因为它不在项目列表中。
参数名: value
我用你的方法出错啊
newsid = Request.Params["id"];
this.ShowType.SelectedValue = "newsid";
yongnicheng 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 dd__dd 的回复:]
先绑定DropDownList,在对其赋值就行了
[/Quote]
你说的 很有道理
但是我不知道怎么做?
能详细点吗?谢谢
yongnicheng 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 cww2010 的回复:]
页面刷新后,它会重新邦定数据的。你要手动给它赋值。传个参数过去。
[/Quote]
怎么传参数啊?
我也知道要传参数
我定义的参数,比如点击张三,
newsid = Request.Params["id"];
这句代码就记录了资料表中的ID
点击张三 ID就是 张三在资料表中ID
接下来怎么做啊?
dd__dd 2009-12-18
  • 打赏
  • 举报
回复
先绑定DropDownList,在对其赋值就行了
ivws_19 2009-12-18
  • 打赏
  • 举报
回复
this.ShowType.selectedvalue= 你传的id
cww2010 2009-12-18
  • 打赏
  • 举报
回复
页面刷新后,它会重新邦定数据的。你要手动给它赋值。传个参数过去。
yongnicheng 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cswdcswd 的回复:]
ddl.DataTextField = "name";
ddl.DataValueField = "type";
[/Quote]


newsid = Request.Params["id"];
SqlDataAdapter Type = new SqlDataAdapter("select ID ,Types from ShowType", conn);
DataSet dsType = new DataSet();
Type.Fill(dsType, "ShowType");
this.ShowType.DataSource = dsType.Tables["ShowType"].DefaultView;
this.ShowType.DataTextField = "Types";
this.ShowType.DataValueField = "id";
this.ShowType.DataBind();

我这样写的为什么不是默认显示 ,每次都是显示ID=1的那个类型,
zqtoo 2009-12-18
  • 打赏
  • 举报
回复
select x.name,y.type from 资料 join 类型 on x.types=y.id

string type=类型
ListItem item = this.dropdownlist.Items.FindByText(type);
if (item != null)
{
foreach (ListItem i in this.dropdownlist.Items)
{
if (item.Text== i.Text)
{
i.Selected = true;
}
else
{
i.Selected = false;
}
}
}
jidianxueyuan 2009-12-18
  • 打赏
  • 举报
回复

string sql=select name,type from 资料,类型 where types=类型.id
执行 sql
返回
dataset

if(name='张三')
string sql=select name,type from 资料,类型 where types=类型.id and name='张三'
执行 sql
返回
dataset
ddl_Project.DataSource = dataset
ddl_Project.DataValueField = "type ";
ddl_Project.DataTextField = "type ";
ddl_Project.DataBind();
cswdcswd 2009-12-18
  • 打赏
  • 举报
回复
如果点的张三,我希望默认显示的是 广告类型?????

怎么点,说清楚呀,是两个dropdownlist关联,还是你在哪个控件里点击之后,dropdownlist会显示相应的值????
加载更多回复(5)

62,254

社区成员

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

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

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

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