大家好,最近我在做一个作业的时候遇到一个问题,问题在标题以说明,代码大概情况如下:<Books>
<Book >
<BID>B001</BID>
<CATEGORY>Technical</CATEGORY>
<TITLE> Understanding XML </TITLE>
<PRICE> $1.5 </PRICE>
<AUTHORNAME>John Hicks</AUTHORNAME>
</Book>
<Book >
<BID>B002</BID>
<CATEGORY>Technical</CATEGORY>
<TITLE> XML Unleashed </TITLE>
<PRICE> $2.5 </PRICE>
<AUTHORNAME>Thomas Simpson</AUTHORNAME>
</Book>
<Book >
<BID>B003</BID>
<CATEGORY>Fiction</CATEGORY>
<TITLE> The Rainmakers </TITLE>
<PRICE> $2.5 </PRICE>
<AUTHORNAME>John Grisham</AUTHORNAME>
</Book>
<Book >
<BID>B004</BID>
<CATEGORY>Fiction</CATEGORY>
<TITLE> Good Earth </TITLE>
<PRICE> $2.5 </PRICE>
<AUTHORNAME>Pearl Buck</AUTHORNAME>
</Book>
</Books>
using System;
using System.Data;
using System.Configuration;
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 System.Xml;
using System.Collections;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
bookidlist.DataSource = createDataSource();
bookidlist.DataTextField = "BID";
bookidlist.DataBind();
}
private ICollection createDataSource()
{
DataTable dt = new DataTable();
dt.Columns.Add("BID", typeof(string));
DataSet lanDS = new DataSet();
string filePath = Server.MapPath(ConfigurationManager.AppSettings["BooksXmlFile"].ToString());
lanDS.ReadXml(filePath);
if (lanDS.Tables.Count > 0)
{
foreach (DataRow copyRow in lanDS.Tables[0].Rows)
{
dt.ImportRow(copyRow);
}
}
DataView dv = new DataView(dt);
return dv;
}
}执行之后,选定不了值,每次都是自动刷新回初始值,怎么解决呢???
<Book >
<BID>B001</BID>
<CATEGORY>Technical</CATEGORY>
<TITLE> Understanding XML </TITLE>
<PRICE> $1.5 </PRICE>
<AUTHORNAME>John Hicks</AUTHORNAME>
</Book>
<Book >
<BID>B002</BID>
<CATEGORY>Technical</CATEGORY>
<TITLE> XML Unleashed </TITLE>
<PRICE> $2.5 </PRICE>
<AUTHORNAME>Thomas Simpson</AUTHORNAME>
</Book>
<Book >
<BID>B003</BID>
<CATEGORY>Fiction</CATEGORY>
<TITLE> The Rainmakers </TITLE>
<PRICE> $2.5 </PRICE>
<AUTHORNAME>John Grisham</AUTHORNAME>
</Book>
<Book >
<BID>B004</BID>
<CATEGORY>Fiction</CATEGORY>
<TITLE> Good Earth </TITLE>
<PRICE> $2.5 </PRICE>
<AUTHORNAME>Pearl Buck</AUTHORNAME>
</Book>
</Books>
using System;
using System.Data;
using System.Configuration;
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 System.Xml;
using System.Collections;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
bookidlist.DataSource = createDataSource();
bookidlist.DataTextField = "BID";
bookidlist.DataBind();
}
private ICollection createDataSource()
{
DataTable dt = new DataTable();
dt.Columns.Add("BID", typeof(string));
DataSet lanDS = new DataSet();
string filePath = Server.MapPath(ConfigurationManager.AppSettings["BooksXmlFile"].ToString());
lanDS.ReadXml(filePath);
if (lanDS.Tables.Count > 0)
{
foreach (DataRow copyRow in lanDS.Tables[0].Rows)
{
dt.ImportRow(copyRow);
}
}
DataView dv = new DataView(dt);
return dv;
}
}执行之后,选定不了值,每次都是自动刷新回初始值,怎么解决呢???
if (!IsPostBack)
{
bookidlist.DataSource = createDataSource();
bookidlist.DataTextField = "BID";
bookidlist.DataBind();
}
if(!IspostBack)
{
//绑定数据
}
if(!IsPostBack)
{
bookidlist.DataSource = createDataSource();
bookidlist.DataTextField = "BID";
bookidlist.DataBind();
}
B001
B002
B003
B004
B001
B002
B003
B004
怎么把下面重复的数据去掉呢 我想了半天也没发现我哪里错了???
{
if(!this.IsPostBack)
{
bookidlist.Items.clear();
bookidlist.DataSource = createDataSource();
bookidlist.DataTextField = "BID";
bookidlist.DataBind();
}
}
在其它的地方,droplist重新添加时,一定要先清空先前的。