DropDownList问题?

空城蓝梦 2012-04-24 01:12:52
我再点击修改页面时无法传过当前的值 已经绑定过了
...全文
228 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
空城蓝梦 2012-04-24
  • 打赏
  • 举报
回复
你们看仔细一点吧 if (!IsPostBack)
{
BindDropList();
BindPrivilegeList();
BinddplGbId();
BinddplDefOutputUnit();
string operate = Request.QueryString["operate"];
if (operate == "update")
{
Label1.Text = "修改企业名称信息";
Sys_EnterpProd_BackFill();

}
else if (operate == "add")
{
Label1.Text = "增加企业名称信息";
}

}


//绑定修改时按照编号回填
private void Sys_EnterpProd_BackFill()
{
int id = int.Parse(Request.QueryString["id"]);
Component.Model.EnterpProdInfo pn = Component.BLL.EnterpProdManager.Sys_EnterpProd_BackFill(id);
txtProdName.Text = pn.Prodname.ToString();
txtProdDesc.Text = pn.Proddesc.ToString();
dplDefOutputUnit.SelectedValue = pn.DefOutputUnitId.ToString();
}
private void BindDropList()
{
txtunittype.DataSource = UnitTypeManager.GetAllDropList();
txtunittype.DataTextField = "typename";
txtunittype.DataValueField = "Id";
txtunittype.DataBind();
txtunittype.Items.Insert(0, new ListItem("-请选择-", "-请选择-"));
}

private void BinddplGbId()
{
//int id = int.Parse(Request.QueryString["id"]);
//Component.Model.EnterpProdInfo pn = Component.BLL.EnterpProdManager.Sys_EnterpProd_BackFill(id);
dplGbId.DataSource = Component.BLL.EnterpProdManager.GetSys_GbProd();
dplGbId.DataValueField = "Id";
dplGbId.DataTextField = "Prodname";
dplGbId.DataBind();
dplGbId.Items.Insert(0, new ListItem("-请选择-", "-请选择-"));
//for (int i = 0; i < dplGbId.Items.Count; i++)
//{
// if (dplGbId.Items[i].Text == GbProdManager.GetModel(Convert.ToInt32(pn.Gbid)).Prodname)
// {
// dplGbId.Items[i].Selected = true;
// break;
// }
//}
}
private void BinddplDefOutputUnit()
{
dplDefOutputUnit.DataValueField = "UnitTypeId";
dplDefOutputUnit.DataTextField = "Chinesename";
dplDefOutputUnit.DataBind();
dplDefOutputUnit.Items.Insert(0, new ListItem("-请选择-", "-请选择-"));


}

protected void Button1_Click(object sender, EventArgs e)
{
string operate = Request.QueryString["operate"];
if (operate == "update")
{

int id = int.Parse(Request.QueryString["id"]);
int Gbid = int.Parse(dplGbId.SelectedValue);
string ProdName = txtProdName.Text;
int DefOutputUnitId = int.Parse(dplDefOutputUnit.SelectedValue);
string ProdAttribute = null;
if (radionengyuan.Checked)
{
ProdAttribute = radionengyuan.Text;
}
else
{
ProdAttribute = radiofeineng.Text;
}

string ProdDesc = txtProdDesc.Text;
string AddUser = MangerUser.ToString();
DateTime AddDate = DateTime.Now;
string UpdateUser = MangerUser.ToString();
DateTime UpdateDate = DateTime.Now;

StringBuilder sb = new StringBuilder();

for (int i = 0; i < dlCorrespondEnergy.Items.Count; i++)
{
HtmlInputCheckBox objCheckBox = (HtmlInputCheckBox)dlCorrespondEnergy.Items[i].FindControl("chkSelecd");
if (objCheckBox.Checked)
{

int iPrivelegeID = Convert.ToInt32(objCheckBox.Value);
sb.Append(iPrivelegeID).Append(",");

}

}

int update = Component.BLL.EnterpProdManager.UpdateSys_EnterpProd(id, Gbid, ProdName, DefOutputUnitId, ProdAttribute, sb.ToString(), ProdDesc, AddUser, AddDate, UpdateUser, UpdateDate);
if (update > 0)
{
Jscript.AlertAndRedirect("修改成功", "EnterpProd.aspx");
}

}
else if (operate == "add")
{
int Gbid = int.Parse(dplGbId.SelectedValue);
string ProdName = txtProdName.Text;
int DefOutputUnitId = int.Parse(dplDefOutputUnit.SelectedValue);

string ProdAttribute=null;
if (radionengyuan.Checked)
{
ProdAttribute = radionengyuan.Text;
}
else
{
ProdAttribute = radiofeineng.Text;
}

string ProdDesc = txtProdDesc.Text;
string AddUser = MangerUser.ToString();
DateTime AddDate = DateTime.Now;
string UpdateUser = MangerUser.ToString();
DateTime UpdateDate = DateTime.Now;

StringBuilder sb=new StringBuilder();

for (int i = 0; i < dlCorrespondEnergy.Items.Count; i++)
{
HtmlInputCheckBox objCheckBox = (HtmlInputCheckBox)dlCorrespondEnergy.Items[i].FindControl("chkSelecd");
if (objCheckBox.Checked)
{

int iPrivelegeID = Convert.ToInt32(objCheckBox.Value);
sb.Append(iPrivelegeID).Append(",");

}

}
int add = Component.BLL.EnterpProdManager.AddSys_EnterpProd(Gbid, ProdName, DefOutputUnitId, ProdAttribute, sb.ToString(), ProdDesc, AddUser, AddDate, UpdateUser, UpdateDate);

if (add > 0)
{
Jscript.AlertAndRedirect("添加成功", "EnterpProd.aspx");
}
}
}

luoyangkang 2012-04-24
  • 打赏
  • 举报
回复
或者sql这样写也可以随机 select top 1 字段名 from 表名 order by NEWID()
蒋春 2012-04-24
  • 打赏
  • 举报
回复
楼主你可以常试设置selectvalue的值等于你要显示值的ID号
空城蓝梦 2012-04-24
  • 打赏
  • 举报
回复
那个怎么弄啊
luoyangkang 2012-04-24
  • 打赏
  • 举报
回复
假如有1.2.3三个值 可以随意传 这三个值都在数据库里面 就把这三条数据从数据库读出来,随机取一个这三条数据的id。用随机函数
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

我知道 当前值 如果我这样写了 确定那个值了 我想要的是 假如有1.2.3三个值 可以随意传 这三个值都在数据库里面
[/Quote]
我表示 还是没懂
空城蓝梦 2012-04-24
  • 打赏
  • 举报
回复
我知道 当前值 如果我这样写了 确定那个值了 我想要的是 假如有1.2.3三个值 可以随意传 这三个值都在数据库里面
luoyangkang 2012-04-24
  • 打赏
  • 举报
回复
先将dropdownlist绑定,然后dropdownlist.selectIndex=dropdownlist.Items.IndexOf(dropdownlist.Items.FindByText("当前值")) 如:
ddlObjectLevel.SelectedIndex = ddlObjectLevel.Items.IndexOf(ddlObjectLevel.Items.FindByText(typeEntity.LevelName.ToString()));
Jely_Zheng 2012-04-24
  • 打赏
  • 举报
回复
是不是绑定的_Name字段有空格啥的!
  • 打赏
  • 举报
回复
看了半天也没搞明白LZ到底想作甚》。《
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

当前值 我也不知道是哪个啊 在表里面呢
[/Quote]

我给出代码的思路是这样的:举例说明

比如你需要打开一个详细页面显示客户A的详细信息,详细页面有一项是客户A所在省份,打开详细页面的时候你需要先绑定所有的省份到下拉框,然后取出这个客户A所在省份,比如现在你取到的客户A所在省份是“河南”,那么我需要让下拉显示为“河南”,然后我会循环方才绑定的下拉,直到找到“河南”,显示"河南",

//首先绑定
dropdownlist1.DataSource = .....;
dropdownlist1.DataTextField = "_Name";
dropdownlist1.DataValueField = "ID";
dropdownlist1.DataBind();
//找到显示的项 显示出来
for (int i = 0; i < dropdownlist1.Items.Count; i++)
{
if (dropdownlist1.Items[i].Text == "河南")
{
dropdownlist1.Items[i].Selected = true;
break;
}
}
寂小魔 2012-04-24
  • 打赏
  • 举报
回复
那就先将表和dropdownlist先绑定呀
空城蓝梦 2012-04-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
C# code

//首先绑定
dropdownlist1.DataSource = .....;
dropdownlist1.DataTextField = "_Name";
dropdownlist1.DataValueField = "ID";
……
[/Quote]
.

当前值 我也不知道是哪个啊 在表里面呢
happytonice 2012-04-24
  • 打赏
  • 举报
回复
放在 if (!Page.IsPostBack)
{
//绑定dropdownlist
}
  • 打赏
  • 举报
回复
       
//首先绑定
dropdownlist1.DataSource = .....;
dropdownlist1.DataTextField = "_Name";
dropdownlist1.DataValueField = "ID";
dropdownlist1.DataBind();
//找到显示的项 显示出来
for (int i = 0; i < dropdownlist1.Items.Count; i++)
{
if (dropdownlist1.Items[i].Text == "你想显示的值")
{
dropdownlist1.Items[i].Selected = true;
break;
}
}
空城蓝梦 2012-04-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
楼主表述不清楚呀!
[/Quote]

全部的内容出来了 我想做的是在表里.当前的值显示在DropDownList里面,而不是第一个
  • 打赏
  • 举报
回复
确定是在page_load 里面的 !ispostback里面绑定的?
Jely_Zheng 2012-04-24
  • 打赏
  • 举报
回复
楼主表述不清楚呀!

62,041

社区成员

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

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

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

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