Я застрял в этой проблеме в течение нескольких дней.Невозможно изменить переменную JavaScript, созданную внутри UpdatePanel
1- Пользователь нажимает одну из кнопок.
2- Кнопка нажата, вставить .js переменную внутри label-> lbJavaScriptVar
3- Sys.Application.add_load (GridJson); называет .js функционировать
Проблема заключается в том, я не могу изменить переменную «SHOWTHIS» значение внутри UpdatePanel значение не изменится
----------- ------------------ [ASPX] ----------------------------- -------
<head>
<script type="text/javascript">
function GridJson()
{
alert(SHOWTHIS);
document.getElementById("Grid").innerHTML =
"<tr><td>" + SHOWTHIS+ "</td></tr>"
}
</script>
</head>
...
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="btMan" runat="server" OnClick="btMan_click" Text="Man"/>
<asp:Button ID="btWoman" runat="server" OnClick="btWoman_click" Text="Woman"/>
<asp:Label ID="lbJavaScriptVar" runat="server" ></asp:Label>
<table id="Grid" border="5" class="cssMiniGrid"></table>
<script type="text/javascript">Sys.Application.add_load(GridJson);</script>
</ContentTemplate>
</asp:UpdatePanel>
----- ------------------------ [/ ASPX] ---------------------- --------------
----------------------------- [. Cs ] ------------------------------------
(btMan_click)...
lbJavaScriptVar.Text = "<script> var SHOWTHIS= 9999</script> ";
(btWoman_click)...
lbJavaScriptVar.Text = "<script> var SHOWTHIS = 7777</script> ";
------ ----------------------- [/. CS] ---------------------- --------------
::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::
EDITED ... I сделав это благодаря вашим правилам, отредактируйте эти строки, чтобы они работали
.ASPX<
[ALTER]function GridJson() ------> function GridJson(SHOWTHIS) {
.CS
[DELETE](btMan_click)...
[DELETE]lbJavaScriptVar.Text = "<script> var SHOWTHIS= 9999</script> ";
[DELETE](btWoman_click)...
[DELETE]lbJavaScriptVar.Text = "<script> var SHOWTHIS = 7777</script> ";
[INCLUDE]ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "", "GridJson(" + "THANKS" + ");", true);
Примечание: Я сделал этот код на первый внутри элемента управления веб-пользователя, теперь код находится в корневой странице
Таким образом, функция .js будет называться просто в первый раз ... когда я нажать другую кнопку метод не отвечают – Liev04
заменить RegisterStartupScript с RegisterClientScriptBlock – faby
Я редактировал мой ответ. Дайте мне знать – faby