false"
或者直接在按钮的后台代码里面写Response.Redirect("百度url")
这个原因是响应时间的问题,因为你的服务器按钮控件是先响应OnClientClick,然后再自动PostBack,然后再回复页面给浏览器。因此,当你需要进行location跳转的时候,这个时候已进入到了后台,后台解析了当前页面给浏览器,结果又回来了。
加入return
false的目的就是告诉OnClientClick,页面阻止你向后台提交。
至于为什么用Html控件成功,原因是html控件是不会自动PostBack的,而Button会自动PostBack。你这是一个纯的前端动作,没必要用到后台
请求数据分为两种:
表单提交(form结构,用submit)
ajax异步请求
你要明白,第一种形式会跳转,第二种不会.既然你使用了submit提交,就一定会跳转的.
我说用submit会提交,我可没说form会提交啊.
用form结构可以,但是你要声明阻止默认提交.
然后用ajax进行提交.
总之核心,你不想跳转,就用ajax.
具体怎么用,一条回答里面说不清.你查一下Jquery调用ajax.
稍微看一下就行.不是很复杂.
你的 thisURL的值,永远是你当前这个页面的地址栏的值,也就是说,如果你访问 http://ymgs.hnccgc.com ,
就符合你判断里面的第一个case,然后地址栏会变成http://ymgs.hnccgc.com/S_Default_1.aspx
如果S_Default_1.aspx页面里也有一模一样的js语句,就不会匹配任何case了,因为地址栏的值变了,没有能匹配的上的。
但是你访问的页面,有这样的js语句吗,或者你输入的访问地址,有匹配的case吗?