asp.net里面的js不能跳转网页

JavaScript017

asp.net里面的js不能跳转网页,第1张

OnClientClick="window.DestinationUrl()return

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吗?