Hej! Jag såg det...lol Kan du göra så att du skapar en ny sida där du bara testar den här funktionen kanske? Jag har nämligen en enkel sida där jag lagt ut en "ASPX-table" som jag kallar Table1. Sen ser koden som är av intresse ut så här: Ok.. Men den har du bara i din PageLoad eller? Borde inte påverka ImageClick-funktionen... Jag har lagt ut breakpoints och när den kommer till min if-sats i page_load så hoppar den över if-satsen eftersom det är postback== true och sedan stannar denden där och gör inget mer. Testade att lägga in det som jag har i PageLoad innanför en Postback-kontroll och det verkar vara så att den koden måste köras varje gång sidan laddas, oavsett om det är postback eller inte... Kan vara så att man måste koppla en ImageButton med ett eventhandler varje gång sidan laddas, på samma sätt som faktiskt görs med "vanliga" kontroller på en sida i InitializeComponent... Lysande martin nu funkar det!..ImageButton
Jag lägger om denn fråga till en ny för att jag behöver ett snabbt svar
Jag bygger en tabell dynamiskt i Codebehinde. I den så så skapar jag en imagebutton som skall kalla på en metod vid klick. Jag har fått det att fungera så långt att tabellen skrivs ut och bilden visas, men när jag klickar på sidan så ladas den bara om och stannar där. Dvs den går inte till min metod.
Jag använder dock en
if(Page.IsPostBack == false)
sats i pageload . har det med det att göra ?
Bakom varje imagebutton så måste ett unikt radnummer finnas som jag sedan tar in i metoden. Se koden nedan så tror jag att ni förstår
här är koden
<code>
//Editera
ImageButton img = new ImageButton();
img.ImageUrl= "Image/edit_smal.gif";
img.Attributes.Add("onClick", "EditSubcr("+ xID+ ")");
TableCell editscell = new TableCell();
editscell.Width = 30;
editscell.HorizontalAlign = HorizontalAlign.Center;
editscell.Controls.Add(img);
row.Cells.Add(editscell);
public void EditSubcr(int xID)
{
int vardet = xID;
}
</code>
Jag är en bit på vägg att få detta att fungera, men är det någon som har ett förslag
/tyronneSv:ImageButton
Jag har testat men det verkar som att när jag klickar på bildenså kör den inte
<code>
private void ImageButtonClick(object sender, System.Web.UI.ImageClickEventArgs e)
{
ImageButton btn = (ImageButton)sender;
Response.Write(btn.CommandArgument);
}
</code>
sidan bara laddas om och stannar där.
Har du fler tips?
/TyronneSv: ImageButton
<code>
private void Page_Load(object sender, System.EventArgs e)
{
ImageButton img = new ImageButton();
img.ImageUrl = "hermes.jpg";
img.CommandArgument = "Skriv ut det här";
img.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButtonClick);
TableCell editcell = new TableCell();
editcell.Controls.Add(img);
TableRow row = new TableRow();
row.Cells.Add(editcell);
Table1.Rows.Add(row);
}
private void ImageButtonClick(object sender, System.Web.UI.ImageClickEventArgs e)
{
ImageButton btn = (ImageButton)sender;
Response.Write(btn.CommandArgument);
}
</code>
När jag kör den här sidan hos mig så funkar det hur bra som helst... Sv:ImageButton
Men vad jag förstår så gör imagebutton en postback. Som jag skrev innana så använder jag
if(page.postback==false) metod....
kan det vara den som strular och jag måste lägga till något för att få den att fungera på min sida.
Men jag skall testa det du skrev
/tyronneSv: ImageButton
Har du testat att sätta breakpoints i dina funktioner så att du verkligen ser vad som exekveraras och vad som inte exekveras? Du verkar vara lite osäker på vad som körs och vad som inte körs om jag får säga så.Sv:ImageButton
Men det är ju så att jag listar en tabell med värden och då skall imgbutton skrivas ut på varje rad. Jag har sett i visa källa att systemet själv id markerar varje imgbutton
så här ser det ut:
<code>
<tr style="color:#000000;background-color:#CCCCCC;font-family:verdana;font-size:10pt;font-weight:bold;">
<td style="width:200px;"> Pernumeration</td><td align="Center" style="width:125px;"> Stardatum</td>
<td align="Center" style="width:125px;"> Slutdatum</td><td align="Center" style="width:100px;"> Status</td>
<td align="Center" style="width:100px;"> Period</td><td align="Center" style="width:100px;"> Kostnad</td>
<td style="width:30px;"></td><td style="width:30px;"></td>
</tr>
<tr style="color:#000000;background-color:#FFFFFF;font-family:verdana;font-size:10pt;">
<td style="width:245px;">Helsårs</td><td align="Center" style="width:125px;">2005-08-26</td>
<td align="Center" style="width:125px;">2005-08-26</td>
<td align="Center" style="width:100px;">Aktiv</td>
<td align="Center" style="width:100px;">12</td>
<td align="Center" style="width:100px;">100</td>
<td align="Center" style="width:30px;">
<input type="image" name="_ctl0" src="Image/edit_smal.gif" border="0" /></td>
<td align="Center" style="width:30px;">
</tr>
<tr style="color:#000000;background-color:#E1E1E1;font-family:verdana;font-size:10pt;">
<td style="width:245px;">Helsårs</td><td align="Center" style="width:125px;">2005-08-29</td>
<td align="Center" style="width:125px;">2005-09-25</td>
<td align="Center" style="width:100px;">Aktiv</td>
<td align="Center" style="width:100px;">12</td>
<td align="Center" style="width:100px;">100</td>
<td align="Center" style="width:30px;">
<input type="image" name="_ctl2" src="Image/edit_smal.gif" border="0"/></td>
</tr>
<tr style="color:#000000;background-color:#FFFFFF;font-family:verdana;font-size:10pt;">
<td style="width:245px;">Helsårs</td>
<td align="Center" style="width:125px;">2005-09-24</td>
<td align="Center" style="width:125px;">2005-10-09</td>
<td align="Center" style="width:100px;">Aktiv</td>
<td align="Center" style="width:100px;">12</td>
<td align="Center" style="width:100px;">100</td>
<td align="Center" style="width:30px;">
<input type="image" name="_ctl4" src="Image/edit_smal.gif" border="0" /></td>
</tr>
</code>
kan detta vara orsaken? för jag får en känsla att den inte vet vad den skall göra vid klicket på imgbutoonen.
/TyronneSv: ImageButton
Kan du testa att lägga "min" kod utanför PostBack-kontrollen så att den körs varje gång, kanske funkar bättre då?Sv:ImageButton
Jag gjrode som du sa dvs la den utan för postback:en och då gick det..
Tack för hjälpen!
/tyronne