2015-06-23 5 views
1
<asp:GridView ID ="FileGrid" runat="server" AutoGenerateColumns="False" OnRowCommand="FileGrid_RowCommand"> 
    <Columns> 
     <asp:BoundField DataField="OriginalFileName" HeaderText="OriginalFileName" SortExpression="OriginalFileName" /> 
     <asp:BoundField DataField="AttachmentGUID" HeaderText="AttachmentGUID" SortExpression="AttachmentGUID" />    
     <asp:ButtonField Text="Generate PDF" runat="server" HeaderText="Convert To PDF" CommandName="GeneratePDF_Click" /> 
    </Columns> 
</asp:GridView> 

Код За:Как открыть новую вкладку/страницу, используя ButtonField в GridView

protected void FileGrid_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    if (e.CommandName == "GeneratePDF_Click") 
    { 
     int num = Convert.ToInt16(e.CommandArgument); 
     string attachmentGuid = FileGrid.Rows[num].Cells[1].Text; 
     Response.Redirect("DisplayImage.aspx?AttachmentGUID=" + attachmentGuid); 
    } 
} 

Я вижу много решений с использованием OnClientClick с asp:Button, но я не могу использовать asp:Button в столбец?

+0

этот ответ может помочь вам http://www.experts-exchange.com /Programming/Languages/.NET/ASP.NET/Q_24005382.html –

ответ

0

Вы можете использовать ScriptManager.RegisterStartupScript, чтобы открыть новое окно:

var url = "DisplayImage.aspx?AttachmentGUID=" + attachmentGuid; 
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "popup", "window.open('" + url + "','_blank')", true); 

или вы также можете попробовать:

var url = "DisplayImage.aspx?AttachmentGUID=" + attachmentGuid; 
string redirect = "<script>window.open('" + url + "');</script>"; 
Response.Write(redirect); 
+0

Это здорово! Благодаря! – Bentonmaru

+0

Да, есть несколько способов сделать это. Пожалуйста. – rageit

Смежные вопросы