c# - 是否可以在 aspx 网页本身中跟踪/观察 session 的值?

标签 c# asp.net visual-studio

我正在调试一个包含多个类的项目网站;虽然大部分代码是用 C# 处理的,但在基于 HTML 的页面中有几个 if 语句,它使用 session 来更新自身。

例如,我按下一个按钮,基于 HTML 的页面调用一个 Javascript 函数,然后调用一个 C# 函数。

<input class='buttonbrowse' type="button" name="btnShiftDate" value="..." <%=(requestApplicationForm.Paycode==null ? " disabled=disabled" : "")%> onclick="javascript:SelectExcessHrs_time();" id="Button1" />

这个函数做了很多计算,并将所有变量和诸如此类的东西存储在类“paycodeform”中。

在代码的末尾,返回:

Session["SubsidyApplicationForm"] = paycodeform;

回到 HTML 页面,会发生这种情况:

<%if(requestApplicationForm.Excessdatepunch!=null) {%>

等等等等。基本上,HTML 页面中嵌入了内联 C# 代码(人们会这样调用它们吗?)。很多代码。他们通过支付代码表进行某种过滤。

Excessdatepunch 是一个数组,其中包含 paycodeform 传回 session 时的值。不幸的是,在 HTML 代码的某处,Excessdatepunch 数组被清除,并重新提供默认值 - 遍历长长的代码列表令人沮丧,而且使事情进一步复杂化的是,此错误并不经常发生。

正如标题一样,我想问一下是否有某种方式可以监控这些内联 C# 代码。我知道在那里放置一个断点是行不通的,而在 session 上放置一个 watch 并不能完全给我内部工作原理,例如 Excessdatepunch 数组中的值。

最佳答案

可以使用 System.Diagnostics.Debugger.Break() 中断 ASPX 中的代码执行.您还可以写入跟踪和调试监听器。尝试调试以下代码示例:

<form id="form1" runat="server">
    <div>
        This is some HTML. The current time is:
        <%
            System.Diagnostics.Debugger.Break();
            Session["CurrentTime"] = DateTime.Now;
        %>
    </div>
    <%
        System.Diagnostics.Trace.WriteLine(Session["CurrentTime"]);
        System.Diagnostics.Debug.WriteLine(Session["CurrentTime"]);
        System.Diagnostics.Debugger.Break();
        Response.Write(Session["CurrentTime"]);
        Response.Write("<br/>");
    %>
    You should see the current date above this line.
</form>

如果要在页面中显示跟踪输出,请添加 Trace属性为 <%@ Page %>标签:

<%@ Page Language="C#" Trace="true" ... %>

引用资料:

关于c# - 是否可以在 aspx 网页本身中跟踪/观察 session 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17463505/

相关文章:

visual-studio - 添加 Visual Studio 2008 上下文菜单项的最简单方法是什么?

vb.net - 在 Visual Studio 中设计时如何从表单中隐藏控件?

c# - 有没有办法让 RazorEngine 抛出异常来呈现使用 JSON 作为数据模型的模板?

c# - 如何旋转 ashx 处理程序检索到的图像

c - 使用指定的初始值设定项来初始化结构中的二维字符数组初始值设定项会在 VS2013 中发出错误 C2078

ASP.NET 通用提供程序和 session 状态

c# - 将 asp.net MVC 从 5.0.0-beta2 更新到 5.0.0-rc1

c# - 如何避免 richTextBox.Clear();闪光/闪烁?

c# - 保护自定义图像的图像文件名-单击验证码

c# - 动态返回通用接口(interface)