Visual Studio JavaScript智能插件,用于VB生成控件

Visual Studio JavaScript Intelliense for VB generated controls

本文关键字:VB 控件 用于 Studio JavaScript 智能 插件 Visual      更新时间:2023-09-26

我们有一个用户控件系统,它允许我们创建用户控件,生成用户控件运行所需的HTML和JS。初始值或选项在VB/c#中设置,控件呈现如下:

@Code
  Dim ms As New ControlModels.MultiSelectModel("ms")
  UserControlHelpers.RenderMultiSelect(ms)
End Code
此时创建了一个JS用户控件,设置为变量"ms"。这是在JS中创建的内容:
var ms = new userControls.MultiSelect("ms");

我们可以在JS中通过这个变量访问用户控件的值,它对我们来说工作得很好。

问题是VS的智能感知不能识别它是什么类型的对象,也不能向新创建的对象提供任何信息。如果我们直接在页面上创建对象,而不使用VB来创建和呈现控件,智能感知能够知道它是什么类型的对象,并为我们提供该对象的方法和属性。

我们能做些什么来获得正确的智力?我知道我们可以在VS中添加我们自己的监听器,但我不知道有什么方法可以让它获得任何有用的信息

您希望将松散类型的JavaScript视为强类型和编译的VB c#

这不仅仅是一个智能感知问题。让一个工具预测动态类型是一个挑战。

var ms = new userControls.MultiSelect("ms");

ASP中创建类型。. NET,然后将它们序列化到JSON并呈现客户端指令。但是如果你使用的是智能感知,那么ASP。. NET代码尚未运行,而JavaScript作为一种动态语言,将平静地等待并评估返回给通用var的内容。

你有效地钓到了猎物的upstream


你仍然有选择:

为了获得Intelli-sense的好处,您必须提前对userControls.MultiSelect()进行原型化。

另外,看看这个VS2012JavaScript智能感知工具: