你如何调试单个ASPX文件?

时间:2013-03-21 02:41:31

标签: c# asp.net

如何调试单个ASPX文件?

我对ASPX文件有些新意,但我不是C#的新手。

我认为所有asp.net c#项目都是作为编译代码在服务器上运行的。所以在某种程度上存在某种二进制文件,或者可能是像Silverlight那样的XAP文件。

但似乎事实并非如此。似乎有时候,你可以将一个ASPX文件与代码behing C Sharp文件一起运行,它就像一个PHP文件一样运行。首先,是吗?我到目前为止对吗?

现在,如果我是ASPX文件和CSHARP代码隐藏文件的所有者,我将如何在Visual Studio中进行调试?

如何运行代码?

我的观点是没有可加载的项目。只有一个文件。

设置断点后,无法运行。我已经尝试连接到加载了aspx代码的浏览器,但断点变为非活动状态。

文件为https://www.seattleu.edu/admission/nonMatricLander.aspx

在服务器上只有aspx文件和随附的.cs文件

这就是全部。没有解决方案文件,没有default.aspx文件,除了其他.aspx文件和aspx.cs文件之外,该目录中没有其他内容。

如果是Web表单,则会有项目文件和/或解决方案文件。会编译一些东西,对吗?没有类似的东西。没有dll文件

2 个答案:

答案 0 :(得分:6)

假设您已经有ASPX页面在本地IIS服务器上呈现(即通过删除默认站点的文件夹)。

在Visual Studio中

  • 在您选择的浏览器中打开页面(来自localhost:....)
  • 调试器 - >附加到流程
  • 查看w3wp是否在列表中,如果没有选中“show from all users”复选框,则可能需要以管理员身份运行VS(或具有调试权限的用户)
  • 附加到w3wp(确保在必要时选择正确的.Net版本)
  • 从中打开ASPX / ASPX.cs并设置断点
  • 在浏览器中刷新页面以点击断点

注意:创建一个Web项目会更容易,因为您可以使用VS提供的本地服务器以及更轻松的整体体验。

答案 1 :(得分:0)

通常,DLL文件不会与实际的aspx页面共存。必须将c-sharp文件编译为DLL,否则页面将无法运行。我想到了两种不同的可能性:1。)DLL文件位于另一个文件夹中,您无法看到它或没有权限查看它,或者2.)该页面最初是在Visual Studio中设计的,但是更改为使用jQuery或JavaScript来处理表单提交。一个线索:

<input type="submit" name="ctl00$ctl00$MainContentPlaceholder$cphBody$btnSubmit"
value="&nbsp;" 
onclick="$(this).hide();$('#Processing').show();return true; 
;WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$ctl00$MainContentPlaceholder$cphBody$btnSubmit&quot;, &quot;&quot;, 
true, &quot;&quot;, &quot;&quot;, false, false))" 
id="ctl00_ctl00_MainContentPlaceholder_cphBody_btnSubmit" class="btnSubmit">

WebForm_DoPostBackWithOptions是一个特定于.NET的函数 - 我想你可能错过了DLL,它位于网站的其他地方。

要调试实际的aspx / aspx.cs文件本身,我建议只将它们放在一个项目中。它比在IIS管理器中移动要容易得多。