2016-11-03 3 views
0

У меня есть default.aspx/default.aspx.cs и other.cs, где я «храню» кучу функций.C#/ASP.Net - Функция ImageButton OnClick CodeBehind

В моей default.aspx я:

<asp:ImageButton ID="ImageButton1" CssClass="btn_img" ImageUrl="./images/1.png" runat="server" OnClick='<%# "setFunction(" +Eval("aGUID") +")" %>' /> 

в моем Default.aspx.cs

protected void setFunction(object sender, ImageClickEventArgs e) 
{ 
    string istr = e.ToString(); 
    var iguid = new Guid(istr); 
    // this are classes/functions stored in other.cs 
    ManageFun mfun = new ManageFun(); 
    mfun.setMM(iguid); 
} 

я, хотя я делал все правильно, но не могу понять, что я «Я делаю неправильно! На самом деле ничего не делает!

Оцените любую помощь!

Спасибо!

+0

Не должна ли она быть просто *** OnClick = "setFunction" ***? – Esko

ответ

0

В основном asp:ImageButton с Onclick, который не будет называть код сервера с кодом Eval.

Edit:

Вы можете напрямую позвонить так:

<asp:ImageButton ID="ImageButton1" CssClass="btn_img" ImageUrl="./images/1.png" runat="server" OnClick="setFunction" /> 

если вы хотите передать параметр в этой функции вы можете назначить параметров на CommandArguement ниже

CommandArguement='<%# Eval("aGUID") %>' 

в вашем SetFunction вы можете получить следующее:

string val = e.CommandArguement.ToString() 
+0

@esko фиксированная опечатка .. и я прочитал свой ответ, давая несколько разное значение, которое я исправил – Webruster

+0

мой setFunction разыгрывает параметр GUID, не должен ли я передавать его с Eval? Как моя функция узнает параметр? – user3329334

+0

@ user3329334 проверить мое редактирование – Webruster

2

Вы можете попробовать это

<h3>ImageButton Sample</h3> 

    Click anywhere on the image.<br /><br /> 

    <asp:ImageButton id="imagebutton1" runat="server" 
     AlternateText="ImageButton 1" 
     ImageAlign="left" 
     ImageUrl="images/pict.jpg" 
     OnClick="ImageButton_Click"/> 

    <br /><br /> 

    <asp:label id="Label1" runat="server"/> 

и C# код

public void ImageButton_Click(object sender, ImageClickEventArgs e) 
     { 
     Label1.Text = "You clicked the ImageButton control at the coordinates: (" + 
         e.X.ToString() + ", " + e.Y.ToString() + ")"; 
     } 

Нет необходимости писать эти <%#

Вот ссылка Click

+0

мой setFunction wating для параметра типа GUID, не должен ли я передавать его с Eval? Как моя функция узнает параметр? – user3329334