Undgå OnClientClick triggers ved page load
Hej eksperter,Jeg har opfundet følgende problem:
En linkbutton med OnClientClick til en metode i codebehind filen skal skujle/vise 2 rækker i en tabel. Men eventen bliver allerede affyret når siden loader så rækker starter med at være skjult.
Spørgsmål:
1. Hvordan undgår man at den bliver affyret ved load af siden?
2. Hvorfor skal en OnClientClick returnere en String?
Husk at løsningen skal være gennem codebehind-filen eftersom de diverse linkbuttons bliver oprettet dynamisk.
APSX:
<asp:Table ID="Table1" runat="server">
<asp:TableHeaderRow><asp:TableHeaderCell>
<asp:Panel ID="Panel1" runat="server"></asp:Panel>
</asp:TableHeaderCell></asp:TableHeaderRow>
<asp:TableRow><asp:TableCell>Indhold 1</asp:TableCell></asp:TableRow>
<asp:TableRow><asp:TableCell>Indhold 1</asp:TableCell></asp:TableRow>
</asp:Table>
Codebehind:
protected void Page_Load(object sender, EventArgs e)
{
LinkButton lb = new LinkButton();
lb.Text = "overskrift";
lb.OnClientClick = hideRows();
Panel1.Controls.Add(lb);
}
public String hideRows()
{
if (Table1.Rows[1].Visible == true)
{
Table1.Rows[1].Visible = false;
Table1.Rows[2].Visible = false;
}
else
{
Table1.Rows[1].Visible = true;
Table1.Rows[2].Visible = true;
}
return "sucess";
}