2016-12-02 151 views
1

更好的問題是點擊時可以從圖像按鈕獲取圖像路徑嗎?我在asp.net中使用gridview,我試圖從點擊圖像按鈕時獲取圖像路徑,所以我可以通過使用圖像路徑來設置下一頁或更多詳細信息來填充下一頁有更好的方法去做這件事?任何幫助是極大的讚賞。 我提供的代碼爲我的GridView和我需要的代碼背後的幫助(我沒有在時刻)當點擊按鈕時,如何從圖像按鈕獲取圖像路徑Asp.net

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="CourseId" DataSourceID="SqlDataSource1" 
    CssClass="table table-striped table-responsive" Style="background-color: white; border: 5px solid green; padding-right: 10px;"> 
    <Columns> 
     <asp:BoundField DataField="Department" HeaderText="Department" SortExpression="Department" /> 
     <asp:TemplateField HeaderText="CourseImage" SortExpression="CourseImage"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("CourseImage") %>'></asp:TextBox> 
      </EditItemTemplate> 
      <ItemTemplate> 
       <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl='<%# Eval("CourseImage") %>' PostBackUrl="~/DetailPage.aspx" OnClick="ImageButton1_Click" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField DataField="CourseId" HeaderText="CourseId" SortExpression="CourseId" ReadOnly="True" /> 
     <asp:BoundField DataField="CourseName" HeaderText="CourseName" SortExpression="CourseName" /> 
     <asp:BoundField DataField="ShortDescription" HeaderText="ShortDescription" SortExpression="ShortDescription" /> 
    </Columns> 
</asp:GridView> 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [Department], [CourseImage], [CourseId], [CourseName], [ShortDescription] FROM [Table] WHERE ([Department] = @Department)"> 
    <SelectParameters> 
     <asp:ControlParameter ControlID="DropDownList1" Name="Department" PropertyName="SelectedValue" Type="String" /> 
    </SelectParameters> 
</asp:SqlDataSource> 
+0

你正在說哪個按鈕? – Webruster

回答

0

如果你真的需要像網址,你可以做到這一點。但爲了工作,您需要從LinkBut​​tons中刪除PostBackUrl="~/DetailPage.aspx"。如果沒有,則無法在其發佈的頁面上訪問其屬性。

protected void ImageButton1_Click(object sender, ImageClickEventArgs e) 
{ 
    //cast the sender as an imagebutton 
    ImageButton imageButton = sender as ImageButton; 

    //get the imageurl propery 
    string imageUrl = imageButton.ImageUrl; 

    //redirect to the details page as querystring 
    Response.Redirect("/DetailPage.aspx?image=" + Server.UrlEncode(imageUrl), false); 

    //or set the image url as a session and then redirect to the details page 
    Session["imageURL"] = imageUrl; 
    Response.Redirect("/DetailPage.aspx", false); 
} 
+0

謝謝,這真的很有幫助。 – retsi21