在线等待,马上给分!为什么嵌在客户端的C#语句即使在客户端JAVASCRIPT语句条件不成立时也执行!!!

alice20030721 2003-09-14 11:23:19
兄弟我做了一个例子,当客户端JAVASCRIPT语句条件不成立时也照样执行嵌在客户端的C#语句Sessiondo(),好像嵌在客户端的C#语句和客户端JAVASCRIPT语句并没有直接的关系,这点和ASP不一样!为什么,怎么解决?!例子如下:


<script language="javascript" id="clientEventHandlersJS">
<!--

function window_onunload() {
var i=0;
var te;
if (i==1){
<%Sessiondo();%>
alert("hello");
}
else
{
}

}

</script>


...全文
34 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
alice20030721 2003-09-15
  • 打赏
  • 举报
回复
最后一位的方法,其实就是我昨天(在他回复之前)不得以采用的办法,但也谢谢各位!
alice20030721 2003-09-14
  • 打赏
  • 举报
回复
ASP是解释执行的,客户端的脚本和服务器端的脚本可以互相协作!
但若如同你的回复,C#和客户端脚本根本就没有办法协作了!?这是.NET的缺陷?!
因为在应用系统的开发中,我们需要C#和客户端脚本协作,你还有其他好办法吗?
xz_king 2003-09-14
  • 打赏
  • 举报
回复
好像嵌在客户端的C#语句和客户端JAVASCRIPT语句并没有直接的关系,这点和ASP不一样!
不太懂你的意思。

asp和上面的一样,先服务器程序,然后是客户端脚本。
xz_king 2003-09-14
  • 打赏
  • 举报
回复
你还没有了理网页的运行机理。

1.用户发送请求
2.服务器进行计算
3.向客户端发送回应。
4.客户端显示。
5.执行客户端脚本。

而你的Sessiondo()是发生在第二步上,当然一定会执行的。
ArLi2003 2003-09-14
  • 打赏
  • 举报
回复
<script language="javascript" id="clientEventHandlersJS">
<!--

function window_onunload() {
var i=0;
var te;
if (i==1){
this.location.href += "?do=Sessiondo"
alert("hello");
}
else
{
}

}

</script>

// now in u aspx page:

if (request.querystring("do") == "Sessiondo") Sessiondo();
gaisylly 2003-09-14
  • 打赏
  • 举报
回复
看来你对ASP.Net的理解存在问题
alice20030721 2003-09-14
  • 打赏
  • 举报
回复
我试过确实如上面两位所说,ASP也和C#一样,但我因为在应用系统的开发中,需要C#和客户端脚本协作,你们还有其他好办法吗?
gujianxin 2003-09-14
  • 打赏
  • 举报
回复
不懂就不要乱说

正如 xz_king(西杀魄工人) 所说

IIS服务器端生成一个Html 文本,传到客户端

ie再解释客户端脚本

所以,你的程序在服务器解释后变成
<script language="javascript" id="clientEventHandlersJS">
<!--

function window_onunload() {
var i=0;
var te;
if (i==1){
// Sessiondo write
alert("hello");
}
else
{
}

}

</script>
正如你在客户端查看源文件看到的一样
然后,ie执行onload才会在javascirpt判断条件

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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