【问题标题】:Debug javascript from ASP.NET in Visual Studio在 Visual Studio 中从 ASP.NET 调试 javascript
【发布时间】:2014-06-30 20:47:00
【问题描述】:

我希望能够调试 WebForms 生成的客户端 Javascript,例如单击按钮。

这应该是微不足道的,但我找不到简单的方法来做到这一点。

生成的 HTML 如下所示:

<input type="submit" name="ctl00$Content$btnUpdate" value="Save" 
    id="ctl00_Content_btnUpdate" class="StandardButton"
    onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(
                    "ctl00$Content$btnUpdate", "", true, "", "", false, false))" 
    >

...它是从这个.aspx sn-p 生成的:

<AGILE:Button ID="btnUpdate" runat="server" CssClass="StandardButton" Text="@Save@"
                    OnClick="btnUpdate_Click"/>

在 Visual Studio (2013 FWIW) 中将调试器附加到函数 WebForm_DoPostBackWithOptions(...) 的最快方法是什么?

在 Chrome 开发工具中呢?

我尝试过的:

(见下面我的回答)

【问题讨论】:

标签: javascript asp.net visual-studio debugging webforms


【解决方案1】:

对于 Chrome 开发工具:

  1. Ctrl-Shift-C 进入“find-me-this-DOM-element”模式并点击按钮。
  2. 在开发工具中,查看onclick 事件指向的内容(参见问题中的示例),复制函数名称。
  3. Ctrl-Shift-F 用于“find-me-everything-everywhere”模式,并粘贴函数名称(又名WebForm_DoPostBackWithOptions)。 &lt;Enter&gt;。
  4. 在 Chrome 开发工具中设置断点并从那里开始。

对于 Visual Studio

我发现(根据 Chrome 的上述步骤)生成的 javascript 存在于一个名为 WebResource.axd?d=&lt;random&gt; 的文件中,该文件是在访问页面时生成的。

更新

使用 Internet Explorer 作为客户端浏览器时,可以更好地与 Visual Studio 集成。

在 VS pre-2012 中,there was, apparently, a Script Editor window 在 Debug -> Windows 下(仅在调试时可用,同时附加到 IE)。

在 VS 2012/2013 中,这已被解决方案资源管理器窗口中名为 Script Documents 的节点所取代。这遵循当前在 br 中打开的页面

仅在使用 IE 作为选定浏览器进行调试时出现。

借助上述 Chrome 步骤中的知识,我打开了 WebResource.axd 文件,果然,我的函数是文件中的第一个函数。我可以添加一个断点并继续前进。

但是,我找不到从 Visual Studio 中搜索该函数的方法。


我描述的方法可以完成工作,但我仍然希望有更简单的方法......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-31
    • 1970-01-01
    • 2013-09-08
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多