请教关于js对ajax的UpdatePanel进行手动刷新的使用

lngdtommy 2009-12-17 01:55:15
我在页面中加了一个ScriptManager和n个UpdatePanel还有一个Timer控件
因为需要,所以我使用的是手动刷新
cs文件
protected void Page_Load(object sender, EventArgs e)
{
ScriptManager1.RegisterAsyncPostBackControl(Timer);
}
这样我根据我所需要的条件来进行手动刷新
用到的是UpdatePanel.Update();
但我现在需要在此基础上进行这样的操作
就是我要把我的值传给前台的JS,这个已经完成,并用JS代码来对我的那些组件进行赋值,并更新所有的UpdatePanel。

我的问题是,直接赋完值后因为界面无法刷新,所以看不到!所以想请教下,怎么用js来对UpdatePanel进行刷新!
...全文
442 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jshi123 2009-12-18
  • 打赏
  • 举报
回复
如果是要换掉图片路径,就是document.getElementById("Image的ID").src = "xxxx";
lngdtommy 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jshi123 的回复:]
Label控件生成的是div标签,没有value属性,改成:
document.getElementById("lbHPHM").innerHTML = "11111";

另外你的思路好像有问题:在CheckBtn函数中已经对界面进行了更新,为什么还要调用_doPostBack?
[/Quote]
嗯,高手,谢谢了。
像这样用于label就直接进行了更新。
但如果那个控件是Image呢?又是怎样写的呢?
lngdtommy 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jshi123 的回复:]
Label控件生成的是div标签,没有value属性,改成:
document.getElementById("lbHPHM").innerHTML = "11111";

另外你的思路好像有问题:在CheckBtn函数中已经对界面进行了更新,为什么还要调用_doPostBack?
[/Quote]
嗯,高手,谢谢了。
像这样用于label就直接进行了更新。
但如果那个控件是Image呢?又是怎样写的呢?
lngdtommy 2009-12-18
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 jshi123 的回复:]
如果是要换掉图片路径,就是document.getElementById("Image的ID").src = "xxxx";
[/Quote]
ok,我试出来了,用
var newPreview1 = document.getElementById("UpdatePanel1");
newPreview1.innerHTML = "<img id='imgTX1' class='Image1280_800_style' src='xxx.jpg' align='middle' style='border-style:Dotted;border-width:0px;' />";
3q very much!
jshi123 2009-12-17
  • 打赏
  • 举报
回复
Label控件生成的是div标签,没有value属性,改成:
document.getElementById("lbHPHM").innerHTML = "11111";

另外你的思路好像有问题:在CheckBtn函数中已经对界面进行了更新,为什么还要调用_doPostBack?
lngdtommy 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lovely_baby 的回复:]
JScript codefunction CheckBtn() {var prm= Sys.WebForms.PageRequestManager.getInstance();
prm._doPostBack('UpdatePanel5','');
}

UpdatePanel5是控件ID
[/Quote]
function CheckBtn()
{
document.getElementById("lbHPHM").value = "11111";
var prm = Sys.WebForms.PageRequestManager.getInstance();
alert(1);
prm._doPostBack("UpdatePanel10","");
alert(2);
}

<input id="Button1" type="button" value="button" onclick = "CheckBtn()"/>
调用但却没有反应
Lovely_baby 2009-12-17
  • 打赏
  • 举报
回复

function CheckBtn() {
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm._doPostBack('UpdatePanel5','');
}

UpdatePanel5是控件ID
lngdtommy 2009-12-17
  • 打赏
  • 举报
回复
如下js代码
function LoadBJInfoCallbak(sFilter)
{
var smsg = sFilter;
smsg = smsg.split(";");
document.getElementById("lbtest").value = smsg[0];
     }

<asp:UpdatePanel ID="UpdatePanel5" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="lbtest" runat="server"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>

//以上我调用了这个js后,但没有对lbtest进行刷新,请问我怎么才能对它进行刷新?
lngdtommy 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cooltylar 的回复:]
你这问题问得....你的意思是刷新updatepanl而不引起整个页面的刷新,updatepanl本来就是这样的阿!你可以写一个时钟,让他实时跟新你的updatepanl里面的值就行了呗!Response.Expires=0;实时更新...
[/Quote]
不是的。
我的意思是我不会怎么用js来对UpdatePanel进行刷新,代码是怎么写的?
cooltylar 2009-12-17
  • 打赏
  • 举报
回复
(给你个例子)

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Label"> </asp:Label>
<asp:Timer ID="Timer1" runat="server" Interval="1" OnTick="Timer1_Tick">
</asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>

后台在.cs文件里面写
protected void Timer1_Tick(object sender, EventArgs e)
{
Label1.Text = System.DateTime.Now.ToString();
}
cooltylar 2009-12-17
  • 打赏
  • 举报
回复
你这问题问得....你的意思是刷新updatepanl而不引起整个页面的刷新,updatepanl本来就是这样的阿!你可以写一个时钟,让他实时跟新你的updatepanl里面的值就行了呗!Response.Expires=0;实时更新...

62,265

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧