Führen Sie JavaScript-code an ASP.NET Seite laden
Ich habe eine radiobox <asp:RadioButtonList CssClass="list" Style="width: 150px"
ID="rdo_RSD_ExcerciseRoT" runat="server"
Font-Bold="false" RepeatDirection="Horizontal" RepeatLayout="Table"
TextAlign="Left" >
<asp:ListItem Text="Yes" onclick="en();" Value="Y"></asp:ListItem>
<asp:ListItem Text="No" onclick="dis();" Value="N" Selected="True"></asp:ListItem>
</asp:RadioButtonList>
WIE Sie sehen können zweites Listenelement ist standardmäßig ausgewählt. Aber Problem ist, wenn meine Seite wird immer geladen dis()
ist nicht immer genannt. Ich will laufen dis()
laden der Seite zu.
Ich habe versucht, google, einige blogs empfehlen die Verwendung von Seite.RegisterStartupScript-Methode. Aber ich weiss nicht genau wissen, was ist das problem und warum sollte man mit dieser oben genannten Methode. Ich wäre dankbar, wenn mir bitte jemand sagen, warum diese Funktion nicht immer aufgerufen und wie es aufgerufen wird.
Edit: ich gebe Javascript-code auch, wenn es hilft.
<script type="text/javascript">
function dis()
{
ValidatorEnable(document.getElementById('<%=RequiredFieldValidator32.ClientID%>'), false);
}
function en()
{
ValidatorEnable(document.getElementById('<%=RequiredFieldValidator32.ClientID%>'), true);
}
</script>
- ist Ihre "dis()" ein Stück C# - code oder JavaScript code?
- es ist Javascript-Code. Sie können sehen, Bearbeiten
- Ist dies eine javascript-Frage, oder eine ASP-Frage?
- Ich weiß nicht genau. Ich Schätze, Ihr beide.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Standard-Liste, die Elemente sind standardmäßig FESTGELEGT. Sie nicht bekommen, GEKLICKT auf die Seite laden, um Sie auszuwählen. Das ist also der Grund, warum die definierte Funktion für das OnClick wird nicht genannt.
Sie konnten entweder einen script - Tag in das Sie anrufen dis() oder verwenden Sie RegisterStartupScript.
Den script-tag würde wie folgt Aussehen:
Haben und würden aufgenommen zu werden, die in der Seite html-Quelltext.
RegisterScriptControl tut dies intern. Es hat auch die Möglichkeit zum sammeln von mehreren startup-Skript ruft und macht Sie in einem einzigen Skript-tag.
dis()
zugeordnet ist, dieonclick
- das bedeutet, es werden nur aufgerufen, wenn in der Liste ein Element geklickt wird, die auf durch den Benutzer. Sie können rufen Siedis()
von deronload
des<body>
wenn Sie wollen.Wenn Sie möchten, führen Sie C# - code auf der Server-Seite auf die Seite laden, diesen
Wenn Sie möchten ausführen, JavaScript beim laden der Seite verwenden "onLoad" in
"<body>"
tag. wieHoffe, es hilft.
getan.
Müssen Sie das Skript ausführen, wenn die Seite geladen wird, weil niemand geklickt hat, deine Liste posten noch.
Sie verwenden soll-Seite.RegisterStartupScript vs
<body onload="...">
tun dies aus drei Gründen:<body onload="...">
Skript für etwas anderes.