JavaScript函数在本地工作,但不能在测试部署中工作

时间:2019-03-07 16:41:18

标签: javascript asp.net

我有几个按钮,可用来在单击时隐藏或显示页面上的其他元素。

按钮的格式如下:

<button type="button" id="BTN" onclick="takeAction()">

JavaScript的格式为:

<script type="text/javascript">
    function takeAction() {
         document.getElementById("ELEMENT1_HDR").style.display = "";
         document.getElementById("ELEMENT1_BODY").style.display = "";
         document.getElementById("ELEMENT2").style.display = "none";
         document.getElementById("ELEMENT3").style.display = "none";
     }
</script>

在本地,这在使用严格的HTML和JavaScript以及其他功能在.aspx.cs文件中使用c#时很好用。

但是,当我发布并通过ip地址访问它时,单击按钮无效。在执行检查元素并单击按钮时,出现以下错误:

  

“ takeAction”属性的值为null或未定义,不是Function对象

在我的开发环境中有效,但在模拟的Prod环境中无效,这是我做错了什么?

我尝试将<script>标签中的<header>标签内容以及<body>标签中的内容放在发布时保持不变。 Visual Studio会在发布时损坏它吗?

以某种方式:当我从page1开始并单击“查看”按钮导航到特定记录时,发布的版本将记录视图页面加载到屏幕上,但仍保留page1名称。在本地完成后,它实际上会更改页面地址-因此,这可能是功能在本地运行但不在发布环境中运行的原因

我选择了在第1页和第2页上都存在的名为noCanDoYet()的函数,该函数仅调用警报函数并在屏幕上显示以下消息:“此功能尚未实现”。即使在两个页面上都定义了此功能,我也会遇到相同的错误。

alert("help")可以。

以下导航到特定记录的方法是否会在本地环境所没有的Prod类型环境中引起问题?

protected void navigateView(object sender, EventArgs e)
{
    LinkButton lb = (LinkButton)sender;
    setCurrentlySelectedRecord(lb.CommandArgument);
    setViewEdit("View");
    Server.Transfer("page2.aspx");
}

1 个答案:

答案 0 :(得分:0)

我认为问题与IE11有关。我刚刚安装了Chrome,并且一切正常。

IE11现在可以与在我的<meta http-equiv="x-ua-compatible" content="IE=edge; charset=UTF-8"/>之前的<head>中添加<script>一起使用。

谢谢@JhWebDevGuy