【发布时间】:2014-12-24 12:33:30
【问题描述】:
我正在做的是将照片插入数据库并上传到我的页面前面。 头版必须显示姓名和照片。 我正在从数据库中获取名称以及我在 UploadedItems 文件夹中拥有的所有照片
这是具有 GridView 的首页
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" ShowHeader="False" Width="325px" OnRowDataBound="gvSearch_RowDataBound">
<Columns>
<asp:TemplateField>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Text") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Text") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:ImageField DataImageUrlField="Value" ControlStyle-Height="100" ControlStyle-Width="100" >
<ControlStyle Height="100px" Width="100px"></ControlStyle>
</asp:ImageField>
</Columns>
</asp:GridView>
这是我的代码:
public partial class ListOfItems : System.Web.UI.Page{
public string ItemImageName, fileName;
protected void Page_Load(object sender, EventArgs e)
{
if (Session["Username"] == null)
{
//Response.Redirect("Login.aspx?Data=" + "AddItem");
//Response.Redirect("Login.aspx");
Response.Cookies.Add(new HttpCookie("returnUrl", Request.Url.PathAndQuery));
Response.Redirect("Login.aspx");
}
string[] filePaths = Directory.GetFiles(Server.MapPath("~/UploadedItems/"));
List<ListItem> files = new List<ListItem>();
foreach (string filePath in filePaths)
{
fileName = Path.GetFileName(filePath);
DataSet ds = InsertClass.GetItemName(fileName);
foreach (DataRow row in ds.Tables[0].Rows)
{
ItemImageName = row["ItemName"].ToString();
files.Add(new ListItem(ItemImageName, "~/UploadedItems/" + fileName));
//files.Add(new ListItem(ItemImageName, "~/UploadedItems/" + fileName));
}
GridView1.DataSource = files;
GridView1.DataBind();
}
}
protected void gvSearch_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("style", "cursor:pointer;");
e.Row.Attributes.Add("onclick", "location='ItemPage.aspx?id=" +ItemImageName+ e.Row.Cells[0].Text + "'");
}
}
}
好的,让我先解释一下这门课中发生了什么,我会去 UploadedItems,然后我会在他们的照片中获取每张照片,然后我会使用他们的名字来查询我的数据库以及相关的 ItemName。现在我的问题是,当我按下照片时,它应该将我带到我按下的 gridView 中带有 ItemName 的页面,但它所做的是发送添加到 GridView 的最后一张图片的名称
【问题讨论】: