页面中一个事件发生后,整个页面都要刷新吗?能否只刷新受影响的控件呢?


我用asp.net和c#画了个地图,页面还有其他内容,第一个事件是用于画地图的,第二个事件是用于在label中显示其他内容的,但是第二个事件发生后整个页面都重新
load了一次,使得速度很慢(主要是画图的速度),可不可以第二个事件只刷新它控制的内容啊?

12 个解决方案

#1


关注刷新的问题

#2


等到IE7.0推出后再看看吧:)

#3


试试把画图的部分放在
if (!IsPostBack)
{
...
}
这里面,当页面刷新返回时,就不会再执行画图的部分了。

#4


同意icyer()

#5


试着把地图放在一个ascx中呢?

#6


(!IsPostBack)是对应哪个啊,很多控件都有的啊。
再说我能不能作成框架?asp.net做框架会不会很麻烦的?

#7


在Page_Load()中:
if (!IsPostBack)
{
/*画图程序*/
}

#8


我详细说说我的程序:
有两个RadioButton,没有提交按钮的,任意选择一个后立即画出图来。
另外有几个button,点击后显示有关数据,但不想影响到画图。这样可以
在Page_Load()中写
if (!IsPostBack)
{
/*画图程序*/
}的吗?
我的画图是靠radio_changed(sender as object,e as eventargs)来画的。

#9


(!IsPostBack)是对应哪个啊,很多控件都有的啊。
再说我能不能作成框架?asp.net做框架会不会很麻烦的?


---和以前一样,不麻烦
也可以用iframe,位置比较好定

#10


建议多研究事件执行机制,顺序 

#11


if (!IsPostBack)
{
   
}
是页面第一次打开时,才执行的,页面有回传时为true.IsPostBack对应的是Page,其他控件有的只是AutoPostBack属性.

通过看你的事件触发过程.简单用(!IsPostBack)是不太合适的,因为当页面打开时,你还没有要画图,当触发Radiobutton时,就有了回传,而此时却是要触发画图事件.建议在定义一个全局的bool变量,bool isDraw=false.当图画完后(即事件radio_changed触发后),在radio_changed将isdraw=true;
if (IsPostBack==true)
{
  if (isDraw=false)
    radio_changed;
}

try

我只是这么想的

#12


好的,谢谢各位的帮忙!!
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告