Sis*_*utl 34 asp.net debugging
基于"定义DEBUG常量"设置,我可以在asp.net页面的标记中执行类似的操作吗?
#IF (DEBUG) THEN
<asp:TextBox ID="TextBox1" runat="server">You're in debug mode</asp:TextBox>
#END IF
Run Code Online (Sandbox Code Playgroud)
alg*_*cas 59
<form runat="server">
<% #if DEBUG %>
<asp:TextBox ID="TextBox1" runat="server">You're in debug mode</asp:TextBox>
<% #else %>
<asp:TextBox ID="TextBox2" runat="server">Mmm... No, I think you're not in debug mode</asp:TextBox>
<% #endif %>
</form>
Run Code Online (Sandbox Code Playgroud)
请注意,您无法为这些文本框分配相同的ID.
另请注意,在web.config中设置DEBUG时为true:
<compilation debug="true">
Run Code Online (Sandbox Code Playgroud)
我能得到的结果是:
<asp:Literal id="isDebug" runat="server" />
<script runat="server">
void Page_Load()
{
#if DEBUG
isDebug.Text = "You're in debug mode";
#endif
}
</script>
Run Code Online (Sandbox Code Playgroud)
如果你想在你的Page_Load()事件中有任何其他内容,这会给你带来问题; 上面的文字代码仅在页面/控件后面没有代码时才有效.
如果我需要这样做,我会将上面的代码包含在用户控件中,并将该控件包含在感兴趣的页面中.
我的测试用户控件如下所示:
<%@ Control Language="C#" AutoEventWireup="true" %>
<asp:Literal id="isDebug" runat="server" />
<script runat="server">
void Page_Load()
{
#if DEBUG
isDebug.Text = "You're in debug mode";
#endif
}
</script>
Run Code Online (Sandbox Code Playgroud)
如果您尝试单步执行javascript或者在不调试时更喜欢缩小javascript,我更喜欢这种方法:
<% if (Debugger.IsAttached) { %>
<script src="jquery.js"></script>
<% } else { %>
<script src="jquery.min.js"></script>
<% } %>
Run Code Online (Sandbox Code Playgroud)
我在调试时可以轻松地逐步执行代码,否则我希望缩小脚本.请务必包含以下导入:
<%@ Import Namespace="System.Diagnostics" %>
Run Code Online (Sandbox Code Playgroud)
此外,最好使用Web Essentials visual studio扩展来捆绑/缩小您的javascript文件,以便只为服务器提供一个脚本请求.
| 归档时间: |
|
| 查看次数: |
24673 次 |
| 最近记录: |