asp.net(VB)遇到一个问题,请大家帮我看看。

bluemoon0001 2005-04-26 09:37:14
<html>
<form runat=server>
<asp:textbox id="textbox1" runat=server/>

<asp:button id="button1" runat=server onclick="button1_click" text="发送"/>
     
<asp:DropDownList id="DrpFace" OnSelectedIndexChanged="DrpFace_Select" AutoPostBack=true runat="server">
<asp:ListItem Selected=true>无表情</asp:ListItem>
<asp:ListItem>表情1</asp:ListItem>
<asp:ListItem>表情2</asp:ListItem>
<asp:ListItem>表情3</asp:ListItem>
<asp:ListItem>表情4</asp:ListItem>
<asp:ListItem>表情5</asp:ListItem>
<asp:ListItem>表情6</asp:ListItem>
<asp:ListItem>表情7</asp:ListItem>
<asp:ListItem>表情8</asp:ListItem>
<asp:ListItem>表情9</asp:ListItem>
<asp:ListItem>表情10</asp:ListItem>
<asp:ListItem>表情11</asp:ListItem>
<asp:ListItem>表情12</asp:ListItem>
<asp:ListItem>表情13</asp:ListItem>
<asp:ListItem>表情14</asp:ListItem>
</asp:DropDownList>
   
<asp:Label id="LabFace" runat="server">    </asp:Label>
     
姓名: 
<asp:textbox id="textbox2" runat=server/>
<asp:DropDownList id="DrpImg" Visible=false Runat=server>
<asp:ListItem>    </asp:ListItem>
<asp:ListItem><img src=image/e1.gif></asp:ListItem>
<asp:ListItem><img src=image/e2.gif></asp:ListItem>
<asp:ListItem><img src=image/e3.gif></asp:ListItem>
<asp:ListItem><img src=image/e4.gif></asp:ListItem>
<asp:ListItem><img src=image/e5.gif></asp:ListItem>
<asp:ListItem><img src=image/e6.gif></asp:ListItem>
<asp:ListItem><img src=image/e7.gif></asp:ListItem>
<asp:ListItem><img src=image/e8.gif></asp:ListItem>
<asp:ListItem><img src=image/e9.gif></asp:ListItem>
<asp:ListItem><img src=image/e10.gif></asp:ListItem>
<asp:ListItem><img src=image/e11.gif></asp:ListItem>
<asp:ListItem><img src=image/e12.gif></asp:ListItem>
<asp:ListItem><img src=image/e13.gif></asp:ListItem>
<asp:ListItem><img src=image/e14.gif></asp:ListItem>
</asp:DropDownList>
</form>
<script language="vb" runat="server">
sub button1_click(sender as object,e as eventargs)
if textbox1.text="" and session("empty")=1 then
application("sender")="**" & textbox2.text & "**发言不能为空!!!<br>" & application("sender")
session("empty")=0
exit sub
end if
if session("warning")=textbox1.text and session("true")=1 and textbox1.text<>"" then
application("sender")="请**" & textbox2.text & "**不要重复发言!!!<br>" & application("sender")
session("true")=0
elseif session("warning")<>textbox1.text and textbox1.text<>"" then
session("true")=1
session("empty")=1
session("warning")=textbox1.text
application("sender") =textbox2.text & "(" & Format(Now(), "hh:mm:ss") & "):" & textbox1.text & "  " &

DrpImg.Items(DrpFace.SelectedIndex).ToString & "<br>" & application("sender")
   textbox1.text=""
end if
Response.Write("<script language=javascript>parent.top.location.reload();</script>")
'----------------------------问题在这里---------------------------------------
'为了刷新上面的显示发言窗口,我加了这句,但是出现错误,错误信息我贴在最下面了,不加这句,则没有错误,但是发言过后不能刷新上个窗口
'请问大家有没有更好的方法?解决立即结贴。
'-----------------------------问题结束-------------------------------------------
end sub

sub DrpFace_Select(sender as object,e as eventargs)
LabFace.text=DrpImg.Items(DrpFace.SelectedIndex).ToString
end sub
</script>


'---------------错误信息---------------------------------------------

“/net”应用程序中的服务器错误。
--------------------------------------------------------------------------------

编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。

编译器错误信息: BC30456: “DrpFace_Select”不是“ASP.chatMain_aspx”的成员。

源错误:



行 6: <asp:button id="button1" runat=server onclick="button1_click" text="发送"/>
行 7:      
行 8: <asp:DropDownList id="DrpFace" OnSelectedIndexChanged="DrpFace_Select" AutoPostBack=true runat="server">
行 9: <asp:ListItem Selected=true>无表情</asp:ListItem>
行 10: <asp:ListItem>表情1</asp:ListItem>


源文件: G:\studyWeb\asp_net\chat\chatMain.aspx 行: 8



显示详细的编译器输出:


C:\WINNT\system32> "c:\winnt\microsoft.net\framework\v1.1.4322\vbc.exe" /t:library /utf8output /R:"c:\winnt\assembly\gac\system.drawing\1.0.5000.0__b03f5f7f11d50a3a\system.drawing.dll" /R:"c:\winnt\assembly\gac\system.enterpriseservices\1.0.5000.0__b03f5f7f11d50a3a\system.enterpriseservices.dll" /R:"c:\winnt\assembly\gac\system.data\1.0.5000.0__b77a5c561934e089\system.data.dll" /R:"c:\winnt\assembly\gac\system\1.0.5000.0__b77a5c561934e089\system.dll" /R:"c:\winnt\assembly\gac\system.web.mobile\1.0.5000.0__b03f5f7f11d50a3a\system.web.mobile.dll" /R:"c:\winnt\assembly\gac\system.xml\1.0.5000.0__b77a5c561934e089\system.xml.dll" /R:"c:\winnt\assembly\gac\system.web.services\1.0.5000.0__b03f5f7f11d50a3a\system.web.services.dll" /R:"c:\winnt\assembly\gac\system.web\1.0.5000.0__b03f5f7f11d50a3a\system.web.dll" /out:"C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\net\e75386d8\c9f2dd7d\oo6fvfmx.dll" /debug- "C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\net\e75386d8\c9f2dd7d\oo6fvfmx.0.vb"


Microsoft (R) Visual Basic .NET 编译器版本 7.10.3052.4
用于 Microsoft (R) .NET Framework 版本 1.1.4322.573
版权所有 (C) Microsoft Corporation 1987-2000。保留所有权利。

C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\net\e75386d8\c9f2dd7d\oo6fvfmx.0.vb(297) : error BC30289: 语句不能出现在方法体内。假定已到达方法末尾。

Public Sub New()
~~~~~~~~~~
G:\studyWeb\asp_net\chat\chatMain.aspx(8) : error BC30456: “DrpFace_Select”不是“ASP.chatMain_aspx”的成员。

AddHandler __ctrl.SelectedIndexChanged, AddressOf Me.DrpFace_Select
~~~~~~~~~~~~~~~~~
G:\studyWeb\asp_net\chat\chatMain.aspx(65) : error BC30648: 字符串常数必须以双引号结束。

Response.Write("<script language=javascript>parent.top.location.reload();
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





...全文
104 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluemoon0001 2005-04-27
  • 打赏
  • 举报
回复
兔兄的方法果然可以,我以前还真没有注意过这个问题,我学了一招,多谢兔兄指点,
早知道我就把这个拿到asp去问了,我刚到.net就受到冷遇,
唉......,还是asp的自家兄弟帮我解决了问题,好了,现在结贴.
bluemoon0001 2005-04-27
  • 打赏
  • 举报
回复
to:liuxiaoyi666(兔子)
真的是你说的那个原因,我把Response.Write("<script language=javascript>parent.top.location.reload();</script>")这句注释掉都不行,必须把里面的</script>去掉才能编译通过,不过这样客户端就没有用了撒。
我想把事件处理程序放到<% %>中,但是我对.net不熟,系统编译时告诉我这种方法也是错的,呵呵,后来没有办法,只有用如下方法了,但是如果这样写的话,真的好累:

<script language="vb" runat="server">
sub button1_click(sender as object,e as eventargs)
if textbox1.text="" and session("empty")=1 then
application("sender")="**" & textbox2.text & "**发言不能为空!!!<br>" & application("sender")
session("empty")=0
exit sub
end if
if session("warning")=textbox1.text and session("true")=1 and textbox1.text<>"" then
application("sender")="请**" & textbox2.text & "**不要重复发言!!!<br>" & application("sender")
session("true")=0
elseif session("warning")<>textbox1.text and textbox1.text<>"" then
session("true")=1
session("empty")=1
session("warning")=textbox1.text
application("sender") =textbox2.text & "(" & Format(Now(), "hh:mm:ss") & "):" & textbox1.text & "  " &

DrpImg.Items(DrpFace.SelectedIndex).ToString & "<br>" & application("sender")
   textbox1.text=""
</script>
<!--
我把这里分开写了,不过这样虽然解决了问题,但总觉得别扭
-->
<script language=javascript>
top.main.location.reload();
top.bottom.focus();
document.all.textbox1.focus();
</script>
<script language="vb" runat="server">
end if
end sub

sub DrpFace_Select(sender as object,e as eventargs)
LabFace.text=DrpImg.Items(DrpFace.SelectedIndex).ToString
end sub
</script>

我再试试你现在的方法吧 ^_^
bluemoon0001 2005-04-26
  • 打赏
  • 举报
回复
楼上的,没有看我的问题吧,你用这个只能把当前窗口(bottom)的页面跳转到index.aspx页面,我是想上面一个窗口(top)刷新就行了,
  • 打赏
  • 举报
回复
str="<" & "script>alert(1)<" & "/script>"

这个是解决办法,雨中人还是牛啊*^_^*,这个方法都能出来
bluemoon0001 2005-04-26
  • 打赏
  • 举报
回复
恩,明天试一下,也许是这个原因。
Nils 2005-04-26
  • 打赏
  • 举报
回复
Response.Redirect("index.aspx")
bluemoon0001 2005-04-26
  • 打赏
  • 举报
回复
问题的内容有点长了,大家把目光集中在,我标出的问题的部分就可以了,即下面这个函数中:
sub button1_click(sender as object,e as eventargs)
if textbox1.text="" and session("empty")=1 then
application("sender")="**" & textbox2.text & "**发言不能为空!!!<br>" & application("sender")
session("empty")=0
exit sub
end if
if session("warning")=textbox1.text and session("true")=1 and textbox1.text<>"" then
application("sender")="请**" & textbox2.text & "**不要重复发言!!!<br>" & application("sender")
session("true")=0
elseif session("warning")<>textbox1.text and textbox1.text<>"" then
session("true")=1
session("empty")=1
session("warning")=textbox1.text
application("sender") =textbox2.text & "(" & Format(Now(), "hh:mm:ss") & "):" & textbox1.text & "  " &

DrpImg.Items(DrpFace.SelectedIndex).ToString & "<br>" & application("sender")
   textbox1.text=""
end if
Response.Write("<script language=javascript>parent.top.location.reload();</script>")
'----------------------------问题在这里---------------------------------------
'为了刷新上面的显示发言窗口,我加了这句,但是出现错误,错误信息我贴在最下面了,不加这句,则没有错误,但是发言过后不能刷新上个窗口
'请问大家有没有更好的方法?解决立即结贴。
'-----------------------------问题结束-------------------------------------------
end sub
  • 打赏
  • 举报
回复
我碰上过,所以印象深刻,你可以做个实验的,报错的理由是script里不能再有script的了,暴郁闷

所以是有区别的<%的解释和<script>标记的开头解释应该不是一个程序开始的,所以才会有区别的

估计如果看内核的话<%的效率要比<script>声明的要高

bluemoon0001 2005-04-26
  • 打赏
  • 举报
回复
至于你说的那种错法,我还真的没有试过。
bluemoon0001 2005-04-26
  • 打赏
  • 举报
回复
to:liuxiaoyi666(兔子)
在asp中默认的服务器端脚本是vbscript,如果在页面顶部不特定指出使用某种脚本的话,<% %>和<script language="vbscript" runat="server">应该没有区别吧。


.net中的原理亦如此,错误不在于此吧,我倒是在客户查看原文件,发现.net编译后自动生成了一段javascript脚本,不知道是不是我写的那句客户端脚本跑到系统编译后生成的那段脚本里了,真是一头雾水。我的那个程序是我2002年刚学.net的时候写的一个小聊天室程序,后来由于工作原因没有再用.net,现在都想不起来了。
  • 打赏
  • 举报
回复
都跑.net来了??*^_^*

你倒让我想起了一个问题在asp下面你知道<% %>和<script language="vbscript" runat="server">
的区别么??

我后来发现<% str="<script language='vbscript'>" %> 这句是对的

<script language="vbscript" runat="server">
str="<script language='vbscript'>"
</script>这句就是错的 .net里是不是这样我就不清楚了
brando_beat 2005-04-26
  • 打赏
  • 举报
回复
parent.top.location.replace("aaa.aspx")
bluemoon0001 2005-04-26
  • 打赏
  • 举报
回复
顶,等.net版的高手。
bluemoon0001 2005-04-26
  • 打赏
  • 举报
回复
顶,期待高手...

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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