如何调试单个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页面在本地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=" "
onclick="$(this).hide();$('#Processing').show();return true;
;WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ctl00$MainContentPlaceholder$cphBody$btnSubmit", "",
true, "", "", false, false))"
id="ctl00_ctl00_MainContentPlaceholder_cphBody_btnSubmit" class="btnSubmit">
WebForm_DoPostBackWithOptions是一个。net特定的函数-我想你可能错过了DLL,它位于网站的其他地方。
要调试实际的aspx/aspx.cs文件本身,我建议将两者放在一个项目中。这比在IIS管理器中移动要容易得多。