我正在尝试从服务器端(c#)访问 Javascript 中的变量。我已从服务器端将此变量声明为 public:
public string elementSliderAppend;
并使用 javascript 访问:
<%=elementSliderAppend %>
到目前为止一切顺利,但是在我的 aspx 页面中更新面板刷新后,变量似乎没有更新。
变量在后端更改一切正常,但在 Javascript 中没有发生更改。我已将变量的访问放在更新面板中,因此它应该刷新但它没有。
下面是来自aspx页面的代码
<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="10000">
</asp:Timer>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:Asyncpostbacktrigger controlid="Timer1"> </asp:Asyncpostbacktrigger>
</Triggers>
<ContentTemplate>
<div id="flexViewer" class="flexslider">
</div>
<script type="text/javascript">
function getImgHtml() {
return <%=elementSliderAppend %>;
}
</script>
</ContentTemplate>
</asp:UpdatePanel>
从下面的代码调用变量(也在 aspx 页面上)
function pageLoad(sender, args) {
$("#flexViewer").html("<ul class=slides>" + getImgHtml() + "</ul>");
flexSliderRUN();
}
新代码
我现在在上面的更新面板中插入了下面的代码
<asp:HiddenField ID="hiddimgHtml" runat="server" />
我使用后面的代码设置隐藏字段值
hiddimgHtml.value= elementSliderAppend;
在我的 javascript 文件中使用以下内容来访问该值
var value = $("#hiddimgHtml").val();
alert(value);
$("#flexViewer").html("<ul class=slides>" + value + "</ul>");
但是在刷新时我得到了一个非常讨厌的错误
POST http://:1562/FridayViewer.aspx 500 (Internal Server Error) ScriptResource.axd?d=xz1-gVxgQeQi9AUxmqDjtx8455SyoL-b2LZdBEiJTo8-XZn2n4ZRBb…NYDXi9xlT_-BAcGHV0ZqGBzbItBzEvsjInrEIWh3G93x0XMte0bSN00lh0&t=6119e399:6073 XHR finished loading: "http://:1562/ FridayViewer.aspx”。ScriptResource.axd?d=xz1-gVxgQeQi9AUxmqDjtx8455SyoL-b2LZdBEiJTo8-XZn2n4ZRBb…NYDXi9xlT_-BAcGHV0ZqGBzbItBzEvsjInrEIWh3G93x0XMte0bSN00lh0&t=6119e399:6073 Uncaught Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. 从服务器返回的状态码为:500 ScriptResource.axd?d=xz1-gVxgQeQi9AUxmqDjtx8455SyoL-b2LZdBEiJTo8-XZn2n4ZRBb…RNYDXi9xlT_-BAcGHV0ZqGBzbItBzEvsjInrEIWh3G93x0XMte0bSN00lh0&t=61193: