【发布时间】:2011-07-18 13:28:57
【问题描述】:
我有一个 gridview 表,它有三列..fileID、uploadBy 和 delete。只有文件的所有者才能删除文件。如何验证删除文件的人是文件的所有者。我有登录凭据,并且有 uploadBy 字符串。我可以获取登录凭据,但无法从单击的删除链接中获取 uploadBy 列。
<asp:TemplateField HeaderText="View" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:HyperLink ID="lnkView" runat="server" NavigateUrl='<%# Eval("Id", "~/ViewFile.aspx?Id={0}") %>' Text="View"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:HyperLinkField ItemStyle-HorizontalAlign="Center" DataNavigateUrlFields="Id" DataNavigateUrlFormatString="~/DeleteFile.aspx?Id={0}" HeaderText="Delete" Text="Delete" />
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
switch (e.Row.RowType)
{
case DataControlRowType.DataRow:
FileInfo myFileInfo = (FileInfo)e.Row.DataItem;
switch (myFileInfo.ContentType.ToLower())
{
case "image/pjpeg": // .jpg files
case "image/gif": // .gif files
case "application/msword": // .doc files
case "text/plain": // .txt files
case "application/vnd.ms-excel":
// Do nothing. When the row contains a viewable type,
// we want the View link to be enabled.
break;
default:
// Find the View link and disable it.
HyperLink myLink = (HyperLink)e.Row.FindControl("lnkView");
myLink.Enabled = false;
break;
}
break;
}
}
【问题讨论】: