2

在创建客户端对象时,在 Visual Studio 2010 中获取 JavaScript Intellisense 的正确方法是什么JavaScriptSerializer

例如,我有一个Record具有多个属性的类;我正在生成一个集合,Records然后使用JavaScriptSerializer.

代码背后

public string JsonRecords
{
    get
    {
        var js = new System.Web.Script.Serialization.JavaScriptSerializer();
        return js.Serialize( Records );
    }
}

ASPX 页面

<script>
  // mocks the Record object
  var records = [{ "Date": "", "Latitude": 0, "Longitude": 0 }];

  // sets the Record object
  records = <%= JsonRecords %>;
</script>

当我预填充 JS 记录变量来模拟Records类时,我得到了 Visual Studio 的完整智能支持。

这行得通,但感觉很脏。有没有更合适的方法?或者这是一种常见的做法?

4

2 回答 2

2

通过 JavaScriptSerializer 创建对象时,在 Visual Studio 2010 中获取 JavaScript Intellisense 的正确方法是什么?

等待 VSNext 或一些可以启用这种情况的补丁。目前不支持将 javascript 与服务器端代码混合使用的场景中的 Intellisense。

于 2011-08-29T21:51:06.260 回答
0

Javascript 智能感知是通过解析脚本本身生成的,因此除非您在脚本(或引用的脚本)中定义了内联属性,否则您将看不到智能感知。

如果您想与智能感知一起使用但最终将通过动态构造提供的结构,那么您可以将它们存根到不同的 .js 文件中,然后在文件中包含一个引用标记,因此:

/// <reference path="../xxx.js" />

这将被视为客户端中的注释,但当您在代码中工作时,Visual Studio 会选择它。Minifiers/uglifiers 将在这些评论投入生产之前将其删除,因此它们不会影响性能。

于 2012-05-17T11:46:20.393 回答