如何调试单个ASPX文件

本文关键字:单个 ASPX 文件 调试 何调试 | 更新日期: 2023-09-27 18:05:06

如何调试单个ASPX文件?

我对ASPX文件有点陌生,但我对c#并不陌生。

我认为所有asp.net c#项目都是作为编译后的代码在服务器上运行的。所以在某个地方有某种二进制文件或者是XAP文件,就像silverlight一样。

但事实似乎并非如此。看起来,有时候,你可以把ASPX文件和C Sharp文件放在一起,它就像PHP文件一样运行。首先,对吗?到目前为止我说的对吗?

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

如何运行代码?

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

设置断点后,没有什么可运行的。我已经尝试连接到加载了aspx代码的浏览器,但随后断点变得不活跃。

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

在服务器上只有aspx文件和附带的。cs文件

就是这些。没有解决方案文件,没有默认值。. Aspx文件中除了其他。Aspx文件和Aspx .cs文件外,没有其他目录。

如果它是一个web表单,将有一个项目文件和和或一个解决方案文件。会有编译的东西,对吧?没有什么比这更好的了。没有DLL文件

如何调试单个ASPX文件

假设你已经有了ASPX页面在本地IIS服务器上渲染(即通过放置到默认站点的文件夹)

在Visual Studio

  • 在您选择的浏览器中打开页面(从localhost:....)
  • Debugger -> Attach To process
  • 查看w3wp是否在列表中,如果没有勾选"从所有用户显示"复选框,可能需要以admin(或具有调试权限的用户)的身份运行VS
  • 附加到w3wp(必要时确保选择正确的。net版本)
  • 打开ASPX/ASPX.cs from设置断点
  • 在浏览器中刷新页面以命中断点

注意:创建一个Web项目会更容易,因为你将能够使用VS提供的本地服务器和更容易的整体体验。

通常,DLL文件不会与实际的aspx页面并列。c-sharp文件必须被编译成DLL,否则页面将无法运行。我想到了两种不同的可能性: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管理器中移动要容易得多。