Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IE9 Javascript未定义变量_Javascript_Asp.net - Fatal编程技术网

IE9 Javascript未定义变量

IE9 Javascript未定义变量,javascript,asp.net,Javascript,Asp.net,我的代码中有以下内容,在IE7和IE8中运行良好,但在IE9中不再有效,当然,除非用户在兼容模式下运行 <asp:Label ID="invNumLink" runat="server" Font-Underline="true" ForeColor="Blue" Text='<%# Eval("Order_No") %>' createDate='<%# string.Format(Eval("create_date").ToString(),"MM/dd/yyyy")

我的代码中有以下内容,在IE7和IE8中运行良好,但在IE9中不再有效,当然,除非用户在兼容模式下运行

<asp:Label ID="invNumLink" runat="server" Font-Underline="true" ForeColor="Blue" Text='<%# Eval("Order_No") %>' createDate='<%# string.Format(Eval("create_date").ToString(),"MM/dd/yyyy") %>'
                                operatorNo='<%# Eval("operator_no") %>' orderNo='<%# Eval("Order_No") %>' loc='<%# Eval("Location") %>' table='<%# Eval("table_no") %>' recall='<%# Eval("recall_code") %>'
                                orderID='<%# Eval("ID") %>' acrID='<%# Eval("ACR_ID") %>'
                                onclick="goToDetail(this.orderNo,this.createDate, this.operatorNo, this.loc, this.table, this.recall, this.orderID, this.acrID);" style="cursor:pointer" ></asp:Label>

<script type="text/javascript">
    function goToDetail(orderNo, createDate, operatorNo, loc, table, recall, orderID, acrID) {
        var URL = 'OrderDetailView.aspx?orderNo=' + orderNo + '&' + 'createDate=' + createDate + '&' + 'operatorNo=' + operatorNo + '&' + 'loc=' + loc + '&' + 'table=' + 
                                        table + '&' + 'recall=' + recall + '&' + 'id=' + orderID + '&' + 'acrID=' + acrID;
        day = new Date();
        id = day.getTime();
        window.open(URL, id, 'toolbar=1,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=1100,height=700,left = 62,top = 15')
    }
</script>
谢谢


亚伦

我知道这很难看。。。但是直接传递这些值可能会解决您的问题

<asp:Label ID="invNumLink" runat="server" Font-Underline="true" ForeColor="Blue" Text='<%# Eval("Order_No") %>' createDate='<%# string.Format(Eval("create_date").ToString(),"MM/dd/yyyy") %>'
                                operatorNo='<%# Eval("operator_no") %>' orderNo='<%# Eval("Order_No") %>' loc='<%# Eval("Location") %>' table='<%# Eval("table_no") %>' recall='<%# Eval("recall_code") %>'
                                orderID='<%# Eval("ID") %>' acrID='<%# Eval("ACR_ID") %>'
                                onclick="goToDetail('<%# Eval("Order_No") %>','<%# string.Format(Eval("create_date").ToString(),"MM/dd/yyyy") %>', '<%# Eval("operator_no") %>', '<%# Eval("Location") %>', '<%# Eval("table_no") %>','<%# Eval("recall_code") %>', '<%# Eval("ID") %>', '<%# Eval("ACR_ID") %>');" style="cursor:pointer" ></asp:Label>

我知道这很难看。。。但是直接传递这些值可能会解决您的问题

<asp:Label ID="invNumLink" runat="server" Font-Underline="true" ForeColor="Blue" Text='<%# Eval("Order_No") %>' createDate='<%# string.Format(Eval("create_date").ToString(),"MM/dd/yyyy") %>'
                                operatorNo='<%# Eval("operator_no") %>' orderNo='<%# Eval("Order_No") %>' loc='<%# Eval("Location") %>' table='<%# Eval("table_no") %>' recall='<%# Eval("recall_code") %>'
                                orderID='<%# Eval("ID") %>' acrID='<%# Eval("ACR_ID") %>'
                                onclick="goToDetail('<%# Eval("Order_No") %>','<%# string.Format(Eval("create_date").ToString(),"MM/dd/yyyy") %>', '<%# Eval("operator_no") %>', '<%# Eval("Location") %>', '<%# Eval("table_no") %>','<%# Eval("recall_code") %>', '<%# Eval("ID") %>', '<%# Eval("ACR_ID") %>');" style="cursor:pointer" ></asp:Label>

您可以使用数据属性,其工作方式如下:

而不是:

<span operatorNo="value">

这在IE6中起作用,并记录为在IE7+中起作用

您可以使用如下工作方式的数据属性:

而不是:

<span operatorNo="value">

这在IE6中起作用,并记录为在IE7+中起作用

对于HTML标记上的非标准属性,我认为您需要使用element.getAttributeAtName获取HTML中定义的非标准属性,而不是直接使用element.attName访问它们。要使用标准,您还应该在自定义数据属性前面加上data-。

对于HTML标记上的非标准属性,我认为您需要使用element.getAttributeAtName获取HTML中定义的非标准属性,而不是直接使用element.attName访问它们。为了遵守标准,您还应该在自定义数据属性前面加上data-。

是否尝试将javascript块移到标记之前?这不会有帮助-问题是IE9不会像旧浏览器那样为非标准属性移交属性值。@Pointy这完全不酷@Aaron:更像是,微软用了9个版本才开发出一款浏览器,它甚至试图符合标准。@Marc:但我已经习惯了!:您是否尝试将javascript块移到标记之前?这没有帮助-问题是IE9不会像旧浏览器那样为非标准属性移交属性值。@Pointy这完全不酷@Aaron:更像是,微软用了9个版本才开发出一款浏览器,它甚至试图符合标准。@Marc:但我已经习惯了!:无法使用Eval语句中的双引号,我现在记得这就是为什么我以前这样做的原因。我想我必须在代码后面添加一个样式…不能使用Eval语句中的双引号,我现在记得这就是为什么我以前这样做的原因。我想我必须在代码后面添加一个样式。。。
this.getAttribute("data-operatorNo")