小编deD*_*ogs的帖子

JQuery Mobile出错

下面,我收到此错误:

在此输入图像描述

我已将问题代码缩小到JQuery Mobile 1.0或更高版本以及Asp.NET ScriptManager.

我向Visual Studio 2012添加了一个新的Web窗体项目,并包含以下代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1.Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
    <link rel="stylesheet" href="http://ajax.aspnetcdn.com/ajax/jquery.mobile/1.2.0/jquery.mobile-1.2.0.min.css" />

    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js"></script>
    <script src="http://ajax.aspnetcdn.com/ajax/jquery.mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>

</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" ScriptMode="Release" runat="server"></asp:ScriptManager>
    <div>

    </div>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

代码背后没有代码页面.

  • 这就是它,但是当我运行项目时, 当包含ScriptManager和JQuery Mobile脚本时,我收到上述错误.
  • 删除JQuery Mobile或ScirptManager时不会发生错误.

半天想知道并试图找到解释,我遇到的一个特定网站建议将ScriptMode ="Release"添加到ScriptManager.

将ScriptMode ="Release"添加到ScriptManager后,我没有收到上述错误.

搜索MSDN,它定义了ScriptMode:获取或设置一个值,该值指定是否呈现客户端脚本库的调试版本或发行版本.

将ScriptMode添加到ScriptManager后没有抛出错误,但为什么?有人可以解释为什么添加ScriptMode会阻止错误出现,而且只是添加ScriptMode,意味着真正的解算器还是创可贴?

这里抛出错误: 在此输入图像描述

谢谢

下面我已经包含了渲染的HTML页面:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>

</title><link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
    <script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>

</head>
<body>
    <form method="post" …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net jquery scriptmanager jquery-mobile

26
推荐指数
1
解决办法
1851
查看次数

更快地调用方法然后从内存中检索某些内容

所以这是我的问题:为什么调用方法比从内存中检索某些东西更快?

注意到在DOM元素上指定了id属性时,用户代理会自动将元素的引用附加到其全局范围.

由于用户代理已经引用了所有指定了其id属性的元素,为什么我需要使用document.getElementById("")?

在一个应用程序中,我会:

//Retrieving the value, I could possibly write this two way.
<script>
var fromGlobalScope = myElement.value;
var documentGetById = document.getElementById("myElement").value;
</script>


<input id="myElement" value="someValue" />
Run Code Online (Sandbox Code Playgroud)

做一些研究,它得到了所有主流浏览器的支持,但是他们可能会有一些不支持的浏览器,这会破坏.

但是,我可以简单地写:

<script>

//See if the element is on the global scope.
var fromGlobalScope = myElement ||document.getElementById("myElement");

</script>
Run Code Online (Sandbox Code Playgroud)

我相信图案正确,我可以自动引用所有具有id属性的元素.我不必调用document.getElementById();

使用常驻属性,我不必走DOM,会认为会有很好的性能优势.

我创建了一个jsPerf以查看好处:在此处输入链接描述

令我惊讶的是使用document.getElementById()要快得多?

所以这是我的问题:为什么调用方法比从内存中检索某些东西更快?

使用document.getElementById,我将调用一个可能会或可能不会遍历DOM的方法.至少,我将调用该值的地址.

使用全局范围内的属性,应该可以快速获取,因为它位于某个内存位置.

我在下面包含了jsPerf结果: 在此输入图像描述

我用另一个想法创建了另一个jsPerf: 在窗口对象上显式设置属性

但是,我仍然相信学习为什么可以帮助使用正在发挥作用的力学,这可能会带来一些帮助.

html javascript dom

13
推荐指数
1
解决办法
99
查看次数

SQL Server正则表达式

想知道是否可以将正则表达式合并到SQL Server上的SQL语句中?我只发现Oracle支持正则表达式.

regex sql t-sql sql-server

9
推荐指数
2
解决办法
1万
查看次数

C#属性为数组表示法

使用JavaScript可以使用点表示法或数组表示法访问对象.

var myArray = {e1:"elem1",e2:"elem2",e3:"elem3",e4:"elem4"};
var val1 = myArray["e1"];
var val2 = myArray.e1;
Run Code Online (Sandbox Code Playgroud)

是否可以使用C#实现这一目标?

这就是我的尝试:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id, FormCollection frmVals)
{
  string value;
  Owner owner = new Owner();

  foreach (var key in frmVals.AllKeys)
  {
    value = frmVals[key];
    owner[key] = value;  
  }
}
Run Code Online (Sandbox Code Playgroud)

c# arrays properties

5
推荐指数
1
解决办法
4302
查看次数