********************编辑2********************** 我找到了问题......但我不喜欢这个结果。 我之前在测试面向iPhone的移动应用程序,并使用插件将Firefox的用户代理字符串掩盖为iPhone。
事实上,.Net并没有仅仅基于那一点信息生成所需的回传代码。
然而,我不喜欢这样做,因为由于iPhone和其他多媒体设备可以解释JavaScript,ASP.net正在破坏任何依赖服务器生成的JavaScript运行的应用程序。
因此,如果社区允许......我想更改我的官方问题......为什么ASP.net不会为特定的浏览器生成JavaScript,以及如何关闭此“功能”。
*************** 结束编辑2 ***************
我遇到了一个奇怪的问题。我从远程主机复制了一些工作代码到我的工作电脑上。当我尝试使用该页面时,出现了JavaScript错误。
__doPostBack is not defined
javascript:__doPostBack('ctl00$ContentPlaceHolder1$login','')()()
当我查看输出页面源代码时,确实没有服务器端生成的JavaScript。
我尝试创建一个简单的页面:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="jsTest.aspx.vb" Inherits="_jsTest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="tbTest" runat="server"></asp:TextBox><br />
<asp:LinkButton ID="linkTest" runat="server">LinkButton</asp:LinkButton>
</form>
</body>
</html>
后台代码:
Partial Class _jsTest
Inherits System.Web.UI.Page
Protected Sub linkTest_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles linkTest.Click
Response.Write(tbTest.Text)
End Sub
End Class
出现了相同的错误。
我尝试过重新启动(嘿,这有一半的时间是有效的),清除了App_Code、global.asax和web.config中的所有内容,添加了一个带有autopostback=true的文本框...我已经没有想法了。
有人能够解释一下这里发生了什么吗?
**************更多信息************** 我刚刚在IE中尝试了所有操作,结果正常,页面源代码显示:
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTkxNTA2MDE2NWRkxhZMwlMVwJprcVsvQLJLrTcgaSM=" />
<script type="text/javascript"></script>
<div>
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwK20LZAAuzRsusGAsz0+6YPxxO+Ewv1XsD5QKJiiprrGp+9a3Q=" />
</div>
在Firefox中,源代码只显示:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTkxNTA2MDE2NWRkxhZMwlMVwJprcVsvQLJLrTcgaSM=" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWAwK20LZAAuzRsusGAsz0+6YPxxO+Ewv1XsD5QKJiiprrGp+9a3Q=" />
将网页保存到桌面并在记事本中打开,会发现相同的内容...