2013-08-15 2 views
1

Я использую Asp.Net C# 4.0. Я использую DataList на странице, которая включает ImageButton. Код выглядит следующим образом.Как получить элементы ItemTemplate DataList Url на сервере

<asp:DataList ID="DataList1" runat="server" DataSourceID="ObjectDataSource2" 
     DataKeyField="Pic_ID"> 
     <HeaderTemplate> 
      Click Image to enlarge 
     </HeaderTemplate> 
     <ItemTemplate> 
      <asp:ImageButton ID="ImageButton1" runat="server" Height="110px" 
      ImageUrl='<%# Eval("Pic_Path") %>' Width="111px" 

       onclick="ImageButton1_Click(this.ToString())"/> 

     </ItemTemplate> 
    </asp:DataList> 

Я хочу, чтобы отправить текущий ImageUrl в ImageButton к методу «ImageButton1_Click» на сервере в коде позади. Я пытался несколько раз менять код, но не смог его исправить. С этим кодом в настоящее время я получаю сообщение об ошибке «Имя метода ожидается». Мой метод на сервере;

protected void ImageButton1_Click(string Param) 
{ 
    //Code here 
} 

Говоря короче, я хочу, чтобы отправить URL-адрес изображения в DataList на сервер для некоторой обработки. Спасибо за любую помощь.

+0

это не работает? string imgurl = ImageButton1.ImageUrl или string imageurl = e.ImageUrl –

ответ

2

попытка ниже

<asp:ImageButton ID="ImageButton1" runat="server" Height="110px" 
     ImageUrl='<%# Eval("Pic_Path") %>' Width="111px" 
      onclick="ImageButton1_Click"/> 

и метод изменения в

protected void ImageButton1_Click(object sender, ImageClickEventArgs e) 
{ 
    var btn = sender as ImageButton; 
    var url = btn.ImageUrl; 

} 
+1

Это работает. большое спасибо – user2599269

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