dropdownlist取值问题,求教!谢谢

fengzhiqingreng 2012-04-11 11:38:41
我从图书列表编辑那里转到编辑页面,其中有两个值是显示在下拉列表的,但是只有第一个正确显示,第二个就只显示第一行了,为什么,求助指导,谢谢了

设计界面:有两个dropdownlist控件,分别图书编辑传递过来的值,图书分类和出版社
所属丛书分类:<asp:DropDownList ID="BookTypeDDList" runat="server" ></asp:DropDownList><br /><br />
图书出版社:<asp:DropDownList ID="PublishDDList" runat="server"></asp:DropDownList><br /> <br />
后台代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DDListBind();//绑定下拉列表

int Id = Convert.ToInt32(Request.QueryString["BookId"]);


SqlConnection BookConn = new SqlConnection();
BookConn.ConnectionString = ConfigurationManager.ConnectionStrings["conn"].ToString();
BookConn.Open();

SqlCommand BookCmd = new SqlCommand("select * from Books where Id =" + "'" + Id + "'", BookConn);
SqlDataAdapter BookDataAdapter = new SqlDataAdapter(BookCmd);
DataSet BookDataSet = new DataSet();
BookDataAdapter.Fill(BookDataSet, "BookTable");
BookConn.Close();
this.txtId.Text = BookDataSet.Tables["BookTable"].Rows[0][0].ToString();
this.txtTitle.Text = BookDataSet.Tables["BookTable"].Rows[0][1].ToString();
this.txtAuthor.Text = BookDataSet.Tables["BookTable"].Rows[0][2].ToString();
this.PublishDDList.SelectedValue = BookDataSet.Tables["BookTable"].Rows[0][3].ToString();
this.txtPubdate.Text = BookDataSet.Tables["BookTable"].Rows[0][4].ToString();
this.txtISBN.Text = BookDataSet.Tables["BookTable"].Rows[0][5].ToString();
this.txtWordCount.Text = BookDataSet.Tables["BookTable"].Rows[0][6].ToString();
this.txtUnitePrice.Text = BookDataSet.Tables["BookTable"].Rows[0][7].ToString();
this.txtBookInfo.Text = BookDataSet.Tables["BookTable"].Rows[0][8].ToString();
this.txtAuthorDesc.Text = BookDataSet.Tables["BookTable"].Rows[0][9].ToString();
this.BookTypeDDList.SelectedValue = BookDataSet.Tables["BookTable"].Rows[0][12].ToString();


}

}

private void DDListBind()//从数据库中取得数据源,绑定到下拉列表方法
{
//新建一个连接实例
SqlConnection DDLConn = new SqlConnection();
//从Web.config文件获取数据库连接字符串
DDLConn.ConnectionString = ConfigurationManager.ConnectionStrings["conn"].ToString();
DDLConn.Open();

SqlCommand CategoryCmd = new SqlCommand("SELECT * FROM Categories", DDLConn);
SqlDataAdapter CategoryDataAdapter = new SqlDataAdapter(CategoryCmd);

SqlCommand Publishcmd = new SqlCommand("SELECT * FROM Publishers", DDLConn);
SqlDataAdapter PublishDataAdapter = new SqlDataAdapter(Publishcmd);
DataSet DDLDataSet = new DataSet();
CategoryDataAdapter.Fill(DDLDataSet, "CategoriesTable");
PublishDataAdapter.Fill(DDLDataSet, "PublisherTable");


this.BookTypeDDList.DataTextField = "Name";
this.BookTypeDDList.DataValueField = "Id";
this.BookTypeDDList.DataSource = DDLDataSet.Tables["CategoriesTable"];
this.BookTypeDDList.DataBind();
this.BookTypeDDList.Items.Insert(0, new ListItem("==请选择分类==", "全部"));

this.PublishDDList.DataTextField = "Id";
this.PublishDDList.DataTextField = "Name";
this.PublishDDList.DataSource = DDLDataSet.Tables["PublisherTable"];
this.PublishDDList.DataBind();
this.PublishDDList.Items.Insert(0, new ListItem("==请选择分类==", "全部"));

//关闭数据库连接
DDLConn.Close();


}



protected void btnEdit_Click(object sender, EventArgs e)//实现编辑更新功能
{
string BookUpdateSQL = "UPDATE Books SET ISBN=";
BookUpdateSQL = BookUpdateSQL + "'" + this.txtISBN.Text.Trim() + "',";
BookUpdateSQL = BookUpdateSQL + "Title='" + this.txtTitle.Text.Trim() + "',";
BookUpdateSQL = BookUpdateSQL + "Author='" + this.txtAuthor.Text.Trim() + "',";
BookUpdateSQL = BookUpdateSQL + "ContentDescription='" + this.txtBookInfo.Text.Trim() + "',";
BookUpdateSQL = BookUpdateSQL + "CategoryId='" + this.BookTypeDDList.SelectedValue + "',";
BookUpdateSQL = BookUpdateSQL + "UnitPrice='" + this.txtUnitePrice.Text.Trim() + "',";
BookUpdateSQL = BookUpdateSQL + "PublisherId='" +this.PublishDDList.SelectedValue + "',";
BookUpdateSQL = BookUpdateSQL + "PublishDate='" + this.txtPubdate.Text.Trim() + "'";
BookUpdateSQL = BookUpdateSQL + "WHERE Id='" + Request.QueryString["BookId"] + "'";

SqlConnection BookUpdateConn = new SqlConnection();
BookUpdateConn.ConnectionString =
ConfigurationManager.ConnectionStrings["conn"].ToString();
BookUpdateConn.Open();
//执行UPDATE语句
SqlCommand BookUpdateCmd = new SqlCommand(BookUpdateSQL, BookUpdateConn);
BookUpdateCmd.ExecuteNonQuery();
//关闭数据库连接
BookUpdateConn.Close();
//显示更新成功对话框,并链接到ClassManage.aspx网页
Response.Write("<script language='javascript'>alert('更新成功');location.href='./BookList.aspx';</script>");
}
...全文
122 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
this.PublishDDList.DataTextField = "Id";
this.PublishDDList.DataTextField = "Name";


PublishDDList的text绑定了两个值......
lilin0503 2012-04-12
  • 打赏
  • 举报
回复
不是很明白楼主的意思
zhangdaowu5 2012-04-12
  • 打赏
  • 举报
回复
看看你的ds里面是否有数据,另外还不是很明白LZ描述的意思,LZ是不是想说第二个下拉框里面没值,


SqlConnection BookConn = new SqlConnection();
这个可以把他定义出来后面直接用就可以了就不用每次去new了。
fengzhiqingreng 2012-04-12
  • 打赏
  • 举报
回复
嘿嘿 ,3楼的真是仔细哈 ,我纠结了好长时间呢,就是没有发现 。就是没有想到是那儿的错哈,谢谢哈。应该是
this.PublishDDList.DataValueField = "Id";

62,073

社区成员

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

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

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

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