ASP.NET和JavaScript代码在本地工作,但不在IIS上工作

时间:2014-01-28 00:32:38

标签: javascript asp.net iis iis-7

我在Expression Web 4.0中创建的网站很难过。所有字段都连接到SQL数据库,我已经包含了一个JavaScript代码来计算某些字段的值。在本地使用Microsoft Visual Studio开发服务器时,该项目运行良好,但是一旦我将站点上传到IIS 7服务器,我似乎无法运行JavaScript。页面不会返回任何错误,但计算不会运行。

我尝试在兼容模式下运行IE,尝试过不同的浏览器,什么也没做。我尝试过使用外部JS文件和同样的问题。

我使用IE和Chrome调试了这个问题,这是它遇到的错误: “无法获取未定义或空引用的属性'值'

我尝试在Form之前和之后放置JavaScript代码,同样的问题。

以下是JavaScript代码:

<script type="text/Javascript">
function Calculate1(Served1) {


var Prepared1val = parseInt (document.getElementById("Prepared1").value);
var RTS1val = parseInt (document.getElementById("RTS1").value);
var Toss1val = parseInt (document.getElementById("Toss1").value);
Served1.value= Prepared1val - Toss1val - RTS1val;

 } 
 </script>

调试器在第一行代码后停止,似乎无法找到值,即使它在那里。

3 个答案:

答案 0 :(得分:0)

错误的含义是浏览器尝试获取value属性为null的对象引用。如果它出现在第一行代码中,则表示没有标识为Prepared1的元素。你确定它在那里吗?案例在元素ID中很重要。

如果问题是您的硬编码ID与页面中的ID不匹配,则应考虑使用ClientID属性。

答案 1 :(得分:0)

您正在引用这些元素:“Prepared1”,“RTS1”,“Toss1”。移动代码时确保这些元素名称仍然可用 - 听起来好像不是。 ASP可以更改元素ID。

答案 2 :(得分:0)

好的,我找到了解决方案。感谢所有人的帮助。正如Codenoire所说,ASP正在改变ID名称,当它运行时,它在ID名称之前添加“FormView”。我解决了一半的问题,因为它只适用于IE而不适用于Chrome,在Chrome中,ID被重命名为其他内容,这很奇怪,但只要它适用于IE我很高兴。再次感谢你!