Kalde metoder i javascript fra codebehind
Jeg har leget lidt med at kalde javascript klasser i codebehind. Når jeg kalder dem første gang, så virker det. Men anden gang, så selvom programmet lopper igennem den samme kode igen sker der ikke noget.Hvor jeg prøver at kalde den igen fra
protected void DropDownList7_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList7.SelectedValue == "Retur")
{
Panel3.Visible = true;
Panel5.Visible = true;
DropDownList5_SelectedIndexChanged(this, EventArgs.Empty);
}
}
Det sted jeg kalder den første gang
protected void DropDownList5_SelectedIndexChanged(object sender, EventArgs e)
{
hentrejse();
hentrejseretur();
ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "MyFun1", "hentdato();", true);
if (DropDownList7.SelectedValue == "Retur")
{
ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "MyFun2", "hentdatoo();", true);
}
}
Denne stykke kode kan godt køres når jeg kalder denne metode fra asp.net siden med autopostback. Men når jeg kalder den anden metode DropDownList7_SelectedIndexChanged fra asp.net siden, som går inden og kalder denne her klasse. Så kører den koden igennem, men intet sker.
Min javascript ser sådan her ud
<script>
var datelist = [];
$(document).ready(function () {
$("#datepicker").datepicker({
beforeShowDay: function (d) {
// normalize the date for searching in array
var dmy = "";
dmy += ("00" + d.getDate()).slice(-2) + "-";
dmy += ("00" + (d.getMonth() + 1)).slice(-2) + "-";
dmy += d.getFullYear();
if ($.inArray(dmy, datelist) >= 0) {
return [true, ""];
}
else {
return [false, ""];
}
}, dateFormat: "yy-mm-dd "
});
});
function hentdato() {
datelist = [];
_myBool = $("#HiddenField1");
var result = _myBool.val();
datelist = result.split(",");
$("#datepicker").datepicker("refresh");
}
</script>
<script>
var datelist2 = [];
$(document).ready(function () {
$("#datepicker2").datepicker({
beforeShowDay: function (d) {
// normalize the date for searching in array
var dmy = "";
dmy += ("00" + d.getDate()).slice(-2) + "-";
dmy += ("00" + (d.getMonth() + 1)).slice(-2) + "-";
dmy += d.getFullYear();
if ($.inArray(dmy, datelist2) >= 0) {
return [true, ""];
}
else {
return [false, ""];
}
}, dateFormat: "yy-mm-dd "
});
});
function hentdatoo() {
datelist2 = [];
_myBool = $("#HiddenField2");
var result = _myBool.val();
datelist2 = result.split(",");
$("#datepicker2").datepicker("refresh");
}
</script>