手机,送手机,哪位解决了送三星手机一部,急急急急急。。。

longloner 2003-11-27 05:09:55
局域网,win2000server系统,asp编程,sql数据库,一服务器和多客户机。

现有一问题,在一个框架网页中左边页面为菜单,右边页面为上传文件的列表,列表中的上传文件为word、excel格式文件,点击打开该文件时锲进IE中右半部分中(_self),当打开编辑后

IF
ie<=5.0
then 提示修改保存,
else 不提示修改保存对话框,
但当右键在新窗口中打开时,此时整个IE页面为word、excel格式文件,修改关闭后提示保存。
请问各位大虾,如何通过asp来实现 when ie>5.0 提示修改保存对话框,或者如何实现当左键打开时可以弹出一个独立的新窗口也可以。(默认为锲进当前IE中)

还有当多个用户同时打开修改右边框架中同一个word、excel上传文件后,最后一个修改的文件会覆盖其他人所编辑的这个文件,请问如何实现当第二个人打开时会提示“此文件正在编辑,请稍后在打开!”对话框或者不可编辑也行。
有其他解决办法也可以。
望各位大虾能帮小弟解决这个问题。
帮小弟一个问题给500分,两个1000分。
全部解决了送手机,送手机,送三星手机一部
...全文
44 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
富察咪咪 2003-12-02
  • 打赏
  • 举报
回复
我用过的做法:文件保存在服务器的数据库中,编辑时使用OCX控件,调用WORD编辑,编辑完成后从数据库中取出文件,使用VBA在本地合并WORD文档,再保存回数据库(保证所有用户的更改被存回数据库),原来的控件换工作没带出来,正在写一个新的控件,但短时间完不成,告诉你思路,自己做把
longloner 2003-12-02
  • 打赏
  • 举报
回复
哦,谢谢walkingpoison(walkingpoison)老兄了,说得很有道理,小弟这就细细研究... 那如何通过代码让 服务器端session自动过期 或者 如何设置登出 呢?
longloner 2003-12-02
  • 打赏
  • 举报
回复
帮我看一下显示在线人数代码,为什么不对?为什么只加1不减1呢?最好能写上修改过的,谢谢!
<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Session_OnStart
startPage = "login.asp"
currentPage = Request.ServerVariables("SCRIPT_NAME")
if strcomp(currentPage,startPage,1) then
Server.Transfer(startPage)
end if
End Sub

Sub Session_OnEnd
Session.Abandon
End Sub

Sub Application_OnStart
Application("SessionNo")=0
End Sub

Sub Application_OnEnd

End Sub

Sub Session_OnStart
Application.Lock
Application("SessionNo")=Application("SessionNo")+1
Application.UnLock
End Sub

Sub Session_OnEnd
Application.Lock
Application("SessionNo")=Application("SessionNo")-1
Application.UnLock
End Sub
</SCRIPT>

显示页面:Response.Write "在线人数:" & Application("SessionNo")

“应该把两段代码(Session_onend和Sub Session_OnStart )合并”又如何合并呢?
liwb 2003-12-02
  • 打赏
  • 举报
回复
决对可以用ASP解决的,
asp来实现 when ie>5.0 提示修改保存对话框,可以通javascript取到IE,然后在vbscript中判断,好像VBSCRIPT也有取IE值的,手头没资料好查(不好意思)。
OldPhoto 2003-12-02
  • 打赏
  • 举报
回复
不知道!顶一下,藏ing……
walkingpoison 2003-12-02
  • 打赏
  • 举报
回复
1.我想问如何能让它关闭时弹出提示框,最好能在框架中显示出word\excel上面的菜单条,即 文件(F) 编辑(E)......
-----------
这种菜单是Word和Excel与IE集成以后出现的,自己应该是不能用代码控制的。

2.文件使用FTP直接链接打开该文件,修改后保存到服务器,为什么保存对话框文件名处当为汉字时为乱码,这怎么办?
-----------
我这里用http方式打开,可以用中文保存,日文的也可以。是否有什么关系我不大清楚,你试试看吧。

3.并且如何判断提示该文件有人正在编辑。
-----------
看来我前面的分析是白说了,你根本没仔细看我上面写的2和3。

4.想问各位大虾,上面“查看在线人数”那段代码为什么只执行“+”,不执行“-”,(每次关闭后打开都加 1 )
-----------
你每次都是直接关闭页面,当然不会-了,直接关闭页面的话要等到服务器端session自动过期才会减少在线人数。你需要加上一个登出的功能。

另外,你来这里问这个问题,最主要的目的是需要得到思路。至于代码,都是建立在思路上很容易实现的东西,就算别人给你代码,你还要自己去修改,也许比自己写更加麻烦。
walkingpoison 2003-12-02
  • 打赏
  • 举报
回复
没有必要使用因为Session_onend的时候就已经相当与Session.Abandon了
---------------------
这样的误解正是造成了你的计数不正确的原因。Session.Abandon的时候会触发Session_OnEnd。但是你自己如果不写Session.Abandon语句的话,就只能等服务器到达20分钟默认的时间了。所以我说,需要你自己主动写Session.Abandon,这样来达到登出的目的。

放在框架里面不会出现操作菜单确实比较麻烦,这样可能要影响到设计思路了。不过我觉得,就算有菜单,直接进行编辑和保存总归会有一些问题。

结账的话,点帖子的管理就可以了
longloner 2003-12-02
  • 打赏
  • 举报
回复


至于Session.Abandon
没有必要使用因为Session_onend的时候就已经相当与Session.Abandon了

longloner 2003-12-02
  • 打赏
  • 举报
回复
walkingpoison(walkingpoison)老兄,如果是嵌入框架网页ie的Excel就不会有Excel的操作菜单出现,而是要保存整个框架HTML等.
还有如何结账呢?问了这么多问题还没有结过账呢?终于有人回答出来了
walkingpoison 2003-12-02
  • 打赏
  • 举报
回复
1.嵌入ie的Excel应该会有Excel的操作菜单出现,在文件菜单中可以找到另存为。

2.服务器端默认Session过期时间是20分钟。自己写登出只需要Session.Abandon这一句就可以实现登出了。

另外,fujiachun(傅加淳)说的思路能不能再详细一点,你在本地用vba处理以后的文件如何再保存到数据库中?先存为本地文件然后上传到服务器吗?如果这样的话,本地的安全性必须要允许写文件。
longloner 2003-12-02
  • 打赏
  • 举报
回复
框架右边页面如下:

项目管理单:
在线人数:2
姓名: 黄 时间: 2003 年 12月 02 日-2003 年 12月 02 日 查询 填写 删除
选择 发布人 文章标题 提交日期
黄 黄 项目表一.exl 2003-11-27
黄 黄 项目表二.exl 2003-11-28
黄 黄 项目表三.exl 2003-11-28

“项目表一.exl”为FTP上传文件,点击后嵌套在ie中,不是asp文件,文件名入了sql库,文件在服务器虚拟目录下。
当IE版本高于5.0时,在框架网页中打开,修改后关闭的时候为什么不提示保存对话框,如何能让它有提示,或者如何保存修改过的exl文件呢?

poolnet 2003-12-01
  • 打赏
  • 举报
回复
一部手机就想搞定? 源码? 这种相关的技术基本上都不卖源码,封闭给你也得几K啊
dgseamaple 2003-12-01
  • 打赏
  • 举报
回复
如果可以的话,请把原文件发给我,我帮你改。
fen_lin@163.com
dgseamaple 2003-12-01
  • 打赏
  • 举报
回复
第二个问题刚才写错了,应该改为这样:

通过数据库中的一个字段status来控制,当文件被打开时,状态为;当文件没有被打开时,状态设置为0
<%
if rs("status")=1 then
response.write "<script>alert('对不起,文件正在编辑中,请稍后再打开。');window.close();</scirpt>"
response.end
end if
%>
dgseamaple 2003-12-01
  • 打赏
  • 举报
回复
请问各位大虾,如何通过asp来实现 when ie>5.0 提示修改保存对话框,或者如何实现当左键打开时可以弹出一个独立的新窗口也可以。(默认为锲进当前IE中)

答:<a href="xxxx.asp" target=_top>编辑文件名称</a>

还有当多个用户同时打开修改右边框架中同一个word、excel上传文件后,最后一个修改的文件会覆盖其他人所编辑的这个文件,请问如何实现当第二个人打开时会提示“此文件正在编辑,请稍后在打开!”对话框或者不可编辑也行。

答:通过数据库中的一个session来控制,当文件被打开时,状态为;当文件没有被打开时,状态设置为0
<%
if session("status")=1 then
response.write "<script>alert('对不起,文件正在编辑中,请稍后再打开。');window.close();</scirpt>"
response.end
end if
%>
hxn8203 2003-12-01
  • 打赏
  • 举报
回复
因为浏览的人多呀!
longloner 2003-12-01
  • 打赏
  • 举报
回复
为什么只加不减呢?
longloner 2003-12-01
  • 打赏
  • 举报
回复
这个显示在线人数代码为什么不对?
<SCRIPT LANGUAGE=VBScript RUNAT=Server>


Sub Session_OnStart
startPage = "login.asp"
currentPage = Request.ServerVariables("SCRIPT_NAME")
if strcomp(currentPage,startPage,1) then
Server.Transfer(startPage)
end if
End Sub

Sub Session_OnEnd
Session.Abandon
End Sub
</SCRIPT>

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart
Application("SessionNo")=0
End Sub

Sub Application_OnEnd

End Sub


Sub Session_OnStart
Application.Lock
Application("SessionNo")=Application("SessionNo")+1
Application.UnLock
End Sub

Sub Session_OnEnd
Application.Lock
Application("SessionNo")=Application("SessionNo")-1
Application.UnLock

End Sub



</SCRIPT>
longloner 2003-12-01
  • 打赏
  • 举报
回复
感谢各位大虾,先谢谢了,十分感谢...
我先说一下,我写when ie>5.0是为了述说方便,不是代码,也并不是要求“查到访问者的浏览器类型以及版本”,因为当ie版本高于5.0时,打开嵌套在框架网页中文件列表中的word\excel文件,编辑之后,关闭或切换该页面时,不提示保存对话框,所做修改无效。而5.0版本有提示。
我想问如何能让它关闭时弹出提示框,最好能在框架中显示出word\excel上面的菜单条,即 文件(F) 编辑(E)......
我把上传的文件名入了库,服务器有一个存放上传文件的文件夹,IE中文件列表中的word\excel文件使用FTP直接链接打开该文件,修改后保存到服务器,为什么保存对话框文件名处当为汉字时为乱码,这怎么办?并且如何判断提示该文件有人正在编辑。
想问各位大虾,上面“查看在线人数”那段代码为什么只执行“+”,不执行“-”,(每次关闭后打开都加 1 )
右框架中链接文件代码如下 Response.Write"<td width=260 nowrap bgcolor=LemonChiffon><a href=ftp://172.21.0.112/cust/"&temptxt3&">"&temptxt1&"</a></td>"
“cust”为FTP站点虚拟目录,即存放上传文件目录
  • 打赏
  • 举报
回复
To purc(jame)

用函数不太可能吧,因为人家并不是真正直接打开你服务器上的文件,只是将此文件下载到本地后再打开!
咦,我都没试过,修改完后是不是可以再上传呀,哈,当然是不可以的吧,不然服务器的安全级别也太低了吧,最终还是要通过asp来将修改后的文件上传后进行更新。

实现方法,我觉得只有采用CVS类似的冲突检测机制。
每个人都可以下载当前的版本,当修改后,对比大家修改的是否冲突,不冲突的话就全部合并,要是冲突的话,按时间先后将最后修改的为准,或者将冲突情况发给每一个修改人,让他们再次修改。
这最大的困难是,你知道用户到底修改的是什么东东哩,比较适合于文本文件:)
加载更多回复(13)

28,407

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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