积极答复者
GridView取值问题。

问题
-
前台<asp:GridView ID="grdFile" runat="server" AutoGenerateColumns=FalseWidth="100%"><Columns><asp:TemplateField HeaderText="文件名"><ItemTemplate><img src='<%=imgPath %>'><a href="openfile.aspx?ID=<%=ID %>" target="_blank" title=""><%=FileName%></a><%=ReleaseTime%></ItemTemplate><HeaderStyle /><ItemStyle Width="40%" /></asp:TemplateField><asp:TemplateField HeaderText="大小"><ItemTemplate><%=info.Length/10*0.01%>KB</ItemTemplate><ItemStyle Width="15%" /></asp:TemplateField><asp:TemplateField HeaderText="下载"><ItemTemplate><a href="DownLoad.aspx?ID=<%=ID %>">下载</a></ItemTemplate><HeaderStyle /><ItemStyle Width="15%" /></asp:TemplateField><asp:BoundField DataField="Category" HeaderText="文件类型"><HeaderStyle /><ItemStyle Width="15%" /></asp:BoundField><asp:BoundField DataField="UpLoadName" HeaderText="上传者"><ItemStyle Width="15%" /></asp:BoundField></Columns></asp:GridView>后台public partial class Common_FileDownLoad_Down : System.Web.UI.Page{public string imgPath;public Guid ID;public System.IO.FileInfo info;public string FileName;public DateTime ReleaseTime;public string UpLoadName;private IFileDA da = DALFactory.CreateFileDA();protected void Page_Load(object sender, EventArgs e){IList<File> file = da.GetFileAll();foreach (File f in file){info = new System.IO.FileInfo(Server.MapPath("../UploadFile/Images/" + f.FileName));int start = f.FileName.LastIndexOf(".") + 1;string hz = f.FileName.Substring(start);imgPath = "../UploadFile/icon/" + hz + ".gif";FileName = f.FileName;ID = f.ID;ReleaseTime = Convert.ToDateTime(f.ReleaseTime);UpLoadName = f.UpLoadName;}grdFile.DataSource = file;grdFile.DataBind();}}代码有什么问题吗,为什么girdView显示的是同一个(既重复的数据)。请问该怎么解决。
答案
-
把相似的问题同时也改了, 如 <%=FileName%>, <%=ReleaseTime%>
知识改变命运,奋斗成就人生!- 已标记为答案 xiaowangxiaowang 2009年11月14日 12:39
全部回复
-
你新建一个类 files
public class files { private string imgPath; public string ImgPath { get { return imgPath; } set { imgPath = value; } }private Guid iD; public Guid ID { get { return iD; } set { iD = value; } }private System.IO.FileInfo info; public System.IO.FileInfo Info { get { return info; } set { info = value; } } private string fileName; public string FileName { get { return fileName; } set { fileName = value; } } private DateTime releaseTime; public DateTime ReleaseTime { get { return releaseTime; } set { releaseTime = value; } } private string upLoadName; public string UpLoadName { get { return upLoadName; } set { upLoadName = value; } } } } private IFileDA da = DALFactory.CreateFileDA(); protected void Page_Load(object sender, EventArgs e) { IList<File> file = da.GetFileAll(); List<files> files=new List<files> (); foreach (File f in file) { files ff=new files (); ff.Info = new System.IO.FileInfo(Server.MapPath("../UploadFile/Images/" + f.FileName)); int start = f.FileName.LastIndexOf(".") + 1; string hz = f.FileName.Substring(start); ff.ImgPath = "../UploadFile/icon/" + hz + ".gif"; ff.FileName = f.FileName; ff.ID = f.ID; ff.ReleaseTime = Convert.ToDateTime(f.ReleaseTime); ff.UpLoadName = f.UpLoadName; files.Add(ff); } grdFile.DataSource = files; grdFile.DataBind(); } }
这里使用 比如 <%#Eval("ID")%>这样写法- 已编辑 mldark 2009年11月14日 8:56 缺少一些方法
-
把相似的问题同时也改了, 如 <%=FileName%>, <%=ReleaseTime%>
知识改变命运,奋斗成就人生!- 已标记为答案 xiaowangxiaowang 2009年11月14日 12:39