通过回调将代码背后的变量发送到网页
Sending variables from code behind to web page via callback
我必须制定一个回调方法来更新我的网页,而不需要发出回发请求。有一个问题,我需要认识到它必须显示什么类型的消息。
在网页中,我有以下代码:
<form id="form1" runat="server">
<dx:ASPxCallbackPanel ID="ASPxCallbackPanel2" runat="server" Width="200px" ClientInstanceName="ASPxCallbackPanel2" autopostback="false" OnCallback="ASPxCallbackPanel2_Callback">
<PanelCollection>
<dx:PanelContent>
<% if(ViewState["message_ok"].Equals(1)){ %>
<div class="notification-summary-container">
<dx:ASPxLabel ID="ASPxLabel3" runat="server" Text="ASPxLabel"></dx:ASPxLabel>
</div>
(...)
<% if(ViewState["message_ok"].Equals(2)){ %>
<div class="notification-summary-error">
(...)
But there is a problem when I call the `JavaScript` function to perform the callback like:
function call(s, e)
{
ASPxCallbackPanel2.PerformCallback();
e.processOnServer = false;
}
My ViewState is not updated in the callback method
protected void ASPxCallbackPanel2_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
{
ASPxLabel3.Text = "blabla";
ViewState["message_ok"]=1;
}
我知道这是由于回发后更新视图状态引起的,但回调方法不回发。我想知道是否有可能通过回调将变量发送到网页代码,或者通过JavaScript
设置适当的消息。
Sir,回调无法访问其范围之外的内容,请尝试使用Session
而不是ViewState
。这是最简单的方法。
或者尝试第二种方式,将Label1
添加到callbackPanel tag
中并设置ClientSideVisiable to false
,然后将值设置为此Label1.Text = "OK"
。
您可以使用JSProperty:
protected void ASPxCallbackPanel2_Callback(object sender, DevExpress.Web.ASPxClasses.CallbackEventArgsBase e)
{
ASPxCallbackPanel panel = sender as ASPxCallbackPanel;
panel.JSProperies.Clear();
// JSProperties have to begin with a 'cp'
panel.JSProperties.Add("cpIsOk", true);
}
在客户端,您可以处理EndCallback:
ASPxCallbackPanel_EndCallback(s, e){
if(s.cpIsOk != null && s.cpIsOk == true){
// Do your stuff here...
s.cpIsOk = null;
}
}
相关文章:
- 如何使用JavaScript函数在网页中显示PHP变量
- 用javascript将信息/变量从一个网页传递到另一个网页
- 我们可以在浏览器会话中跨网页引用 JavaScript 变量吗?
- 幻影中的变量事务,抓取网页
- 如何将变量传递到我的网页
- 加载 exe 文件并从网页设置变量
- 防止变量在网页上被抓取
- 通过回调将代码背后的变量发送到网页
- 在html网页上从javascript编辑和显示php文件中的变量
- Javascript位置变量更改网页地址
- 保留变量's刷新网页后的值
- Chrome扩展-从网页中检索全局变量
- 检查变量是网页上的所有数字javascript
- 从特定网页读取文本,并使用javascript将其保存在变量中
- 如何自动将JavaScript注入网页,以便从开发人员控制台访问其变量
- 尽快将变量从chrome扩展传递到网页
- 抓取网页并检索javascript变量
- 如何在Javascript中保持变量的值,即使在网页重新加载时也是如此
- jquery发送到新网页+传递变量
- 使网页的标题显示javascript变量