更好的问题是,点击时可以从图像按钮获取图像路径吗?我正在使用asp.net中的gridview,我正在尝试从单击图像按钮获取图像路径,这样我就可以通过使用图像路径设置下一页来填充下一页的更多详细信息,或者是有更好的方法来解决这个问题吗?任何帮助是极大的赞赏。 我已经为我的gridview提供了代码,我需要帮助后面的代码(我目前还没有)
<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 :(得分:0)
如果您确实需要图片网址,则可以执行此操作。但是为了工作,您需要从LinkButtons中删除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);
}