Si l'ordre d'exécution n'est pas important et que vous avez besoin d'un javascript ET d'un codebehind à déclencher sur un élément asp, voici ce que vous pouvez faire.
Ce que vous pouvez retenir de mon exemple : J'ai un div qui couvre le contrôle ASP à partir duquel je veux que le javascript et le codebehind soient exécutés. La méthode onClick du div ET l'événement OnSelectionChanged du calendrier sont tous deux déclenchés de cette façon.
Dans cet exemple, j'utilise un contrôle de calendrier ASP, et je le contrôle à la fois à partir de javascript et de codebehind :
Code frontal :
<div onclick="showHideModal();">
<asp:Calendar
OnSelectionChanged="DatepickerDateChange" ID="DatepickerCalendar" runat="server"
BorderWidth="1px" DayNameFormat="Shortest" Font-Names="Verdana"
Font-Size="8pt" ShowGridLines="true" BackColor="#B8C9E1" BorderColor="#003E51" Width="100%">
<OtherMonthDayStyle ForeColor="#6C5D34"> </OtherMonthDayStyle>
<DayHeaderStyle ForeColor="black" BackColor="#D19000"> </DayHeaderStyle>
<TitleStyle BackColor="#B8C9E1" ForeColor="Black"> </TitleStyle>
<DayStyle BackColor="White"> </DayStyle>
<SelectedDayStyle BackColor="#003E51" Font-Bold="True"> </SelectedDayStyle>
</asp:Calendar>
</div>
Codebehind :
protected void DatepickerDateChange(object sender, EventArgs e)
{
if (toFromPicked.Value == "MainContent_fromDate")
{
fromDate.Text = DatepickerCalendar.SelectedDate.ToShortDateString();
}
else
{
toDate.Text = DatepickerCalendar.SelectedDate.ToShortDateString();
}
}
2 votes
Duplication possible de Comment appeler une fonction javascript depuis le code-behind ?
3 votes
Voulez-vous vraiment appeler la fonction depuis le code-behind, ou voulez-vous que la fonction s'exécute au chargement de la page ? Je pense que c'est la dernière alternative que vous voulez.