在Repeater中删除

use*_*511 0 asp.net

我有一个用于视频上传和播放的网络应用程序.管理员可以上传,用户可以查看上传的文件.我自动填充从数据库到转发器的链接.我的目标是管理员可以删除上传的文件.文件也从中删除数据库.我正在使用SQl experess和VS2005.我怎么能这样做?

Amr*_*rhy 7

放置一个按钮或任何其他您喜欢的控件,并为此按钮设置命令名称属性等于"删除",例如,将任何id放在命令参数属性中以知道要删除哪一行,并在转发器中使用ItemCommand事件检查这个命令名然后执行删除功能.

例:

<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
    <ItemTemplate>
        <asp:LinkButton ID="LinkButton1" CommandName="Delete" OnClientClick="javascript:if(!confirm('Delete this information? this will delete permanently'))return false;" CommandArgument='<%#Eval("EntityID") %>' runat="server">Delete</asp:LinkButton>
    </ItemTemplate>
</asp:Repeater>

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    if (e.CommandName == "Delete" && e.CommandArgument.ToString() != "")
    {
        // DoDelete then rebind
    }
}
Run Code Online (Sandbox Code Playgroud)

删除代码将是这样的:

Dim connectionString As String = ConfigurationManager.ConnectionStrings("UploadConnectionString").ConnectionString 

Dim adapter As New SqlDataAdapter("DELETE FROM FileM where id=" & e.CommandArgument.ToString(), connectionString) 
Run Code Online (Sandbox Code Playgroud)