开发者

VB.net to C# conversion in asp.net

I am very new at this area. I have script written in vb.net but I want to convert in C# but it is not working as the vb.net code.so please help.

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="2"
            ForeColor="#333333" GridLines="None" AllowPaging="True">
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:LinkButton ID="lnkdownload" runat="server" Text="Download" CommandName="Download"
                            CommandArgument='<%#Eval("FullName") +";" + Eval("Name") %>'></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="Name" HeaderText="File Name" />
                <asp:BoundField DataField="Length" HeaderText="Size (Bytes)" />
            </Columns>
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign开发者_StackOverflow="Center" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#999999" />
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        </asp:GridView>

.

Private Sub BindGrid()
    Dim DataDirectory As String = "~/Uploads"

    Dim files() As FileInfo = New DirectoryInfo(Server.MapPath(DataDirectory)).GetFiles
    GridView1.DataSource = files
    GridView1.DataBind()


End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not IsPostBack Then
        BindGrid()
    End If
End Sub

Private Sub Downloadfile(ByVal fileName As String, ByVal FullFilePath As String)
    Response.AddHeader("Content-Disposition", "attachment; filename=" & fileName)
    Response.TransmitFile(FullFilePath)
    Response.End()
End Sub

Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand
    If e.CommandName = "Download" Then
        Dim fileInfo() As String = e.CommandArgument.ToString().Split(";")
        Dim FileName As String = fileInfo(1)
        Dim FullPath As String = fileInfo(0)
        Downloadfile(FileName, FullPath)
    End If
End Sub

Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
    GridView1.PageIndex = e.NewPageIndex
    BindGrid()

End Sub


Here is the code converted to c# using a VB.NET to C# Converter:

private void BindGrid()
{
   string DataDirectory = "~/Uploads";
   FileInfo[] files = new DirectoryInfo(Server.MapPath(DataDirectory)).GetFiles;
   GridView1.DataSource = files;
   GridView1.DataBind();
}

protected void Page_Load(object sender, System.EventArgs e)
{
    if (!IsPostBack) {
        BindGrid();
    }
}

private void Downloadfile(string fileName, string FullFilePath)
{
    Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
    Response.TransmitFile(FullFilePath);
    Response.End();
}

protected void GridView1_RowCommand(object sender,
    System.Web.UI.WebControls.GridViewCommandEventArgs e)
{
    if (e.CommandName == "Download") {
        string[] fileInfo = e.CommandArgument.ToString().Split(";");
        string FileName = fileInfo[1];
        string FullPath = fileInfo[0];
        Downloadfile(FileName, FullPath);
    }
}

protected void GridView1_PageIndexChanging(object sender,
    System.Web.UI.WebControls.GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    BindGrid();
}


C# doesn't have the "Handles" keyword like VB.Net does, so it looks like your GridView is not properly wired up to the necessary handler. Try adding the following parameter to your GridView tag:

OnRowCommand="GridView1_RowCommand"

Note you'll need to do the same thing for your page index changing event as well.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜