Hallå, ngn som vet hur man kan komma runt buggen som finns i Imagebutton som gör att det inte går att kalla på OnPreRender funktionen? Den är protected därför kommer du inte åt den. Johan, Alex, Tackar, vb.net skulle dock sitta fint! http://www.harding.edu/USER/fmccown/WWW/vbnet_csharp_comparison.html <b>[VB.NET]</b> Hallå igen, får det inte att fungera. Får felmeddelande: I c# så skriver man bara eventets namn; i vb.net måste du använda ett statement som heter RaiseEvent. Gör precis som det står i felmesset; lägg till RaiseEvent innan Sorry! Korrigerade koden nu.. skriver lite i hast från jobb.. sitter och alternerar mellan VB.NET och C# kod så hjärnan hänger inte alltid med när man är mitt uppe i det =) Andreas. Hallå igen. Får det fortfarande inte att fungera. Hur kommer jag åt min nya knapp? Det jag vill göra är att köra upp ett javascript innan click-händelsen för Imagebutton. Måste jag skapa en anpassad usercontroll för att kunna använda min nya knapp?PreRender event not firing on ImageButton-ASP.net
mvh
AlessandroSv: PreRender event not firing on ImageButton-ASP.net
Dock om du ärver ImageButton kan du använda dig av den.
Mvh JohanSv: PreRender event not firing on ImageButton-ASP.net
Det har inget med att den är protected att göra, tvärtom så skulle han visst komma åt den om den är protected. Problemet är att ImageButton missar ett anrop till <b>base.OnPreRender</b> därav att det är en bugg.Sv: PreRender event not firing on ImageButton-ASP.net
Lösningen är som Johan säger - ärv en egen kontroll från ImageButton och fixa till problemet. Nu är koden i C#, skulle detta vara problem så hojta till så kastar jag in den som VB.NET
public class AlexImageButton : ImageButton
{
public event EventHandler PreRender;
public AlexImageButton() : base()
{
}
protected override void OnPreRender(EventArgs e)
{
if( PreRender != null )
PreRender(this,e);
base.OnPreRender(e);
}
}
Hoppas det hjälper
Sv: PreRender event not firing on ImageButton-ASP.net
mvh
AlessandroSv: PreRender event not firing on ImageButton-ASP.net
http://pdc.se/blog/DisplayEntry.aspx?eid=39Sv: PreRender event not firing on ImageButton-ASP.net
Public Class AlexImageButton
Inherits ImageButton
Public Shadows Event PreRender As EventHandler
Public Sub New()
MyBase.New()
End Sub
Protected Overrides Sub OnPreRender(ByVal e As EventArgs)
RaiseEvent PreRender(Me, e)
MyBase.OnPreRender(e)
End Sub
End Class
Sv: PreRender event not firing on ImageButton-ASP.net
'Public Event PreRender(sender As Object, e As System.EventArgs)' is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event.
Hur skall detta raieeventet kallas på?
Är det ngt som måste importeras? Hur ska jag kalla på min knapp sedan?
Public Class AlexImageButton
Inherits ImageButton
Public Shadows Event PreRender As EventHandler
Public Sub New()
MyBase.New()
End Sub
Protected Overrides Sub OnPreRender(ByVal e As EventArgs)
If Not PreRender Is Nothing Then
PreRender(this, e)
End If
MyBase.OnPreRender(e)
End Sub
End ClassSv: PreRender event not firing on ImageButton-ASP.net
PreRender(this, e) Sv: PreRender event not firing on ImageButton-ASP.net
Sv: PreRender event not firing on ImageButton-ASP.net
" Det har inget med att den är protected att göra, tvärtom så skulle han visst komma åt den om den är protected. "
Ja genom arv. Precis vad jag oxå svarade på.
Mvh JohanSv: PreRender event not firing on ImageButton-ASP.net
Public Sub btnSkickaSvar1_PreRender(ByVal sender As System.Object, ByVal e As System.EventArgs)
btnSkickaSvar1.Attributes.Add("onclick", "return confirm ('Vill Du avsluta ifyllandet av enkäten');")
End Sub
i min html-sida ser det ut så här:
<asp:imagebutton id="btnSkickaSvar1" runat="server" imageurl="skicka.jpg" OnPreRender="btnSkickaSvar1_PreRender"></asp:imagebutton>
och clickhändelesen:
Private Sub btnSkickaSvar1_Click(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnSkickaSvar1.Click
Dim strRetur As String
strRetur = funk.LaggInSvar(CInt(Session("Urvalsid")), , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , optB6Fr6.SelectedValue, optB6Fr7.SelectedValue, txtB6Fr8.Text, txtB6Fr9.Text, txtB6Fr10.Text, CStr(DateTime.Now()))
Select Case strRetur <> ""
Case True
Session("felmeddelande") = strRetur
Response.Redirect("Errorpage.aspx")
End Select
strRetur = funk.UppdateraUrvalsperson(CInt(Session("UrvalsID")), "KLAR", "ja")
Select Case strRetur <> ""
Case True
Session("felmeddelande") = strRetur
Response.Redirect("Errorpage.aspx")
End Select
Response.Redirect("..\skickat.aspx")
FormsAuthentication.SignOut()
End Sub
Vad måste jag ändra för att få det att funka, förutom att ta en kurs i Asp.net?!
mvh
ASv: PreRender event not firing on ImageButton-ASP.net
mvh
A