c#想通过while循环给DATALIST控件赋值可以吗?
c#想通过while循环给DATALIST控件赋值可以吗?我的代码如下:con.Open();OleDbCommandcmd=newOleDbCommand("selec...
c#想通过while循环给DATALIST控件赋值可以吗?
我的代码如下:
con.Open();
OleDbCommand cmd=new OleDbCommand("select * from music",con);
OleDbDataReader odr=cmd.ExecuteReader();
this.DataList1.DataSource=odr;
this.DataList1.DataKeyField="id";
while(odr.Read())
{
string siting=Server.MapPath(odr.GetString(2));
Mp3FileInfo mp3 = new Mp3FileInfo(siting);
str_title=mp3.gettitle();
str_artist=mp3.getartist();
System.IO.FileInfo tl=new FileInfo(siting);
str_size=((tl.Length)/1000).ToString()+"KB";
}
this.DataList1.DataBind();
通过如上代码不能实现,怎样才可以呢?
谢谢!!
在aspx文件里我是通过变量传值过去的.已经分别加上了:<%=str_title%>和<%=str_artist%>,我是想通过这两个变量把CS页得到的值传过去.但是传过去的值只有第二条记录的.好象循环在这里没有用似的. 展开
我的代码如下:
con.Open();
OleDbCommand cmd=new OleDbCommand("select * from music",con);
OleDbDataReader odr=cmd.ExecuteReader();
this.DataList1.DataSource=odr;
this.DataList1.DataKeyField="id";
while(odr.Read())
{
string siting=Server.MapPath(odr.GetString(2));
Mp3FileInfo mp3 = new Mp3FileInfo(siting);
str_title=mp3.gettitle();
str_artist=mp3.getartist();
System.IO.FileInfo tl=new FileInfo(siting);
str_size=((tl.Length)/1000).ToString()+"KB";
}
this.DataList1.DataBind();
通过如上代码不能实现,怎样才可以呢?
谢谢!!
在aspx文件里我是通过变量传值过去的.已经分别加上了:<%=str_title%>和<%=str_artist%>,我是想通过这两个变量把CS页得到的值传过去.但是传过去的值只有第二条记录的.好象循环在这里没有用似的. 展开
1个回答
展开全部
实不相瞒 ,没看明白你要干什么,但是有一点看出俩了,你datalist控件和DataReader对象都没掌握很牢靠。
1 datalist控件的显示需要你自定义模板,模板代码写在aspx文件里面,不是cs里面,如果你没有自定义模板的话当然绑定数据也不能显示。
2 while 循环 只是为几个变量赋了值,没有任何其他功能了,看不出来你要干什么,如果你要把他们显示在datalist中的话,不应该把他们写在这里,而是应该放在datalist的模板里面使用绑定语句进行绑定
1 datalist控件的显示需要你自定义模板,模板代码写在aspx文件里面,不是cs里面,如果你没有自定义模板的话当然绑定数据也不能显示。
2 while 循环 只是为几个变量赋了值,没有任何其他功能了,看不出来你要干什么,如果你要把他们显示在datalist中的话,不应该把他们写在这里,而是应该放在datalist的模板里面使用绑定语句进行绑定
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询