我有一個後續問題How to display an image based on SelectedValue in a GridView?如何在新窗口中顯示的圖像
我真的很想做的是有我的GridView控件一個ViewImage按鈕,以便在單擊時,圖像顯示在新瀏覽器窗口的新頁面上。我會怎麼做?我想也許我需要創建一個
<asp:ButtonField>
如何處理點擊和如何獲取的圖像,以一種新的形式對diplay在新瀏覽器窗口?
非常感謝您的關注。
我有一個後續問題How to display an image based on SelectedValue in a GridView?如何在新窗口中顯示的圖像
我真的很想做的是有我的GridView控件一個ViewImage按鈕,以便在單擊時,圖像顯示在新瀏覽器窗口的新頁面上。我會怎麼做?我想也許我需要創建一個
<asp:ButtonField>
如何處理點擊和如何獲取的圖像,以一種新的形式對diplay在新瀏覽器窗口?
非常感謝您的關注。
您可以使用TemplateColumn,在該TemplateColumn中,您可以定義一個按鈕,您可以在其中放置javascript函數以打開新窗口。
例子:
<asp:TemplateField>
<ItemTemplate>
<input type="button" onclick="javascript:ShowImageInNewPage('PageToShowImage.aspx?tradeId=<%# Eval("TradeId") %>');" />
</ItemTemplate>
</asp:TemplateField>
的「ShowImageInNewPage」功能聲明與選定圖片的網址,彈出/打開新窗口的自定義功能。
在PageToShowImage.aspx,聲明img標籤:
<asp:Image ID="imgBlah" runat="server" />
在代碼PageToShowImage.aspx的背後:
protected void Page_Load(object sender, EventArgs e)
{
// this is querystring from GridView page
if(Request.QueryString["tradeId"] != null)
{
imgBlah.Src = "GetImage.aspx?entityId=" + tradeId + "&entityType=T";
}
else
{
imgBlah.Src = "~/images/no-image.jpg"; // set no image
}
}
HTH
我希望你處理與瀏覽器支持的圖像格式。假設你是,你不需要ButtonField
。正如Arief所建議的,一種方法是在TemplateColumn
中使用<asp:HyperLink>
。
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="hyperLink1" runat="server" NavigatUrl="UrlToYourViewImagePage" Text="View Image" />
</ItemTemplate>
</asp:TemplateField>
如果你想要的形象打開一個新窗口,建立一個window.open呼籲每個超鏈接的NavigateUrl。
是的,我正在使用存儲在SQL Server中的.gif圖像。我不太確定我應該放在NavigateURL中,因爲正如我在Arief的評論中提到的,我有另一個名爲GetImage.aspx的頁面處理來自數據庫的圖像請求。你能幫忙嗎?我也不確定如何格式化它,以便它會調用JavaScript函數。 – 2010-11-05 13:01:33
感謝您的幫助,我決定使用Arief的解決方案。 – 2010-11-05 13:46:50
謝謝我創建了一個javascript函數來打開一個新窗口。然而,圖像正在從數據庫中檢索,並由一個名爲GetImage.aspx的頁面處理,該頁面接受查詢字符串,如我的問題中的鏈接所示。我覺得我在這裏糾結在代碼中,我不知道如何使用我的參數填充URL。我如何將當前行的tradeId(主鍵)添加到ImageURL中? – 2010-11-05 12:58:30
我剛編輯我的答案,檢查它是否可以幫助你。 – Arief 2010-11-05 13:07:49
偉大的東西,現在完美工作!謝謝你的幫助。 – 2010-11-05 13:46:24