日期:2014-05-18  浏览次数:20441 次

小弟有礼了之三
大家好,有来论坛蹭知识了,希望大哥们 多多关照,带带一个当入门的苦逼程序员---小弟

开头要谢谢叶子 在
小弟有礼了之一 和小弟有礼了之二 给予的莫大帮助


本人再次感谢!!!!!


 今天我在开发一个网站时,遇到如下一个问题

我在页面上写了一个window.onload 就是对页面一些空文本框,进行赋值并在第一次加载显示,

可在我对这文本框的值进行修改时,点击一个操作按钮后(查询按钮),那个window.onload事件又从新加载了,

覆盖了我修改的文本框内容,导致,查询的结果是修改文本后的查询结果,但页面上的文本框变成第一次加载的了 
 
怎么让这个window.onload 在页面第一次载入时运行 其他的不再运行这段代码啊

可不可以进行控制


如下是我的尝试


  我在aspx页面 写了那个方法timeTemp(),但我并没有去用window.onload 事件

  我直接在 aspx。cs即后台页面 加了这个语句

C# code

    if (!this.IsPostBack)
        {
            this.Page.RegisterClientScriptBlock("time", timeTemp());
        }


 

注: 这个开发工具是VS2003 所以我才选用了Page.RegisterClientScriptBlock 这个方法。

我想用这个方法通过 !IsPostBack 来进行判断,可却调不到这个timeTemp()事件,不知道是我的方法不对呢,还是调用

参数错了,希望大哥大姐们给予帮助,谢谢了



如果不行 还有其他方法嘛:主要就是实现timeTemp()只在第一次打开页面运行下,其他的时候不运行

------解决方案--------------------
主要是你的按钮问题,它进行了页面回发,
一个解决的方法是把按钮按了之后换成ajax对服务器进行交互,这样的话就不会再进行window。onload
另一个办法你上面说的回发判断,你自己试了没有用就不说了。。。推荐用ajax
------解决方案--------------------
C# code

Page nPage = this.Parent.Page;
Type pType = nPage.GetType();//获得该对象的类型
MethodInfo nMethod = pType.GetMethod(Function_Name);//调用parent页面的方法
nMethod.Invoke(nPage, null);//触发执行。这样也就让页面重新加载。

------解决方案--------------------
C# code

Page nPage = this.Parent.Page;
Type pType = nPage.GetType();//获得该对象的类型
MethodInfo nMethod = pType.GetMethod(Function_Name);//调用parent页面的方法
nMethod.Invoke(nPage, null);//触发执行。这样也就让页面重新加载。

------解决方案--------------------
Page.ClientScript.RegisterStartupScript(Page.ClientScript.GetType(), "myscripts", "<script>window.onload=timeTemp();</script>");
是这个意思么?

------解决方案--------------------
我以前遇到过这样的问题,就是判断是否是第一次加载。然后搞定了的,既然你这样写却调不到这个timeTemp()方法。应该是你里面的语句出现错误了,你再检查看看。。。。
------解决方案--------------------
Page.ClientScript.RegisterStartupScript(GetType(), "myscripts", "<script>window.onload=timeTemp();</script>");
这样看行不 现在基本都用08了 还用03的老古董伤不起啊
------解决方案--------------------
第一次加载才运行其实就在Page_Load事件里面xie
if(!IsPostBack)
{
////代码
}
------解决方案--------------------
不知道行不行
if(!IsPostBack)
{
 bodyOnLoad = "javascript:window.onload=timeTemp()";
}
------解决方案--------------------
探讨

引用:
Page.ClientScript.RegisterStartupScript(Page.ClientScript.GetType(), "myscripts", "<script>window.onload=timeTemp();</script>");
是这个意思么?



对的 你的是对的 只是 这个VS2003 不支持Clien……

------解决方案--------------------
直接用ajax