我正在使用log4net来记录我的Web应用程序的进度,使用Log4PostSharp来AOP-injectify所有方法.这具有记录(几乎)所有内容的期望效果,并且很好.
我现在需要将JUST Page_Load方法记录到文件/控制台.我显然可以使用log4postsharp类来执行此操作,但之后我将丢失所有其他日志记录.
我一直在查看log4net中的过滤器,从StringMatch过滤器开始,但只查看正在记录的消息,并且我在方法名称之后.这让我进入了PropertyFilter,但仍然没有喜悦.我的log4net.config片段是这样的:
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<filter type="log4net.Filter.PropertyFilter">
<key value="LocationInfo.MethodName"/>
<stringToMatch value="Page_Load"/>
</filter>
<filter type="log4net.Filter.DenyAllFilter" />
<file value="d:\\xxxx\\yyyyy\\zzzzLog"/>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我正在尝试通过LocationInfo键入日志记录事件的MethodName,但我仍然记录了所有内容.编辑:正如评论中所提到的,我现在已经包含了我在RTFM之后添加的DenyAllFilter ;-)
有人可以帮忙吗?
谢谢,
迈克K.
我正在进入动态数据站点(非常强大)并享受它.但是,我要求我似乎无法满足.我有一个自联接类别表(Id,Name,ParentId)来创建一个分层类别结构(例如,具有空id的类别是顶级的,通常的类型).然后我有一个产品表,其中包含该类别的外键.
在动态数据站点中,我自动生成了类别下拉列表; 但它只是按数字顺序列出所有类别.我想要的(以及我之前编码的,动态前数据)是一个缩进列表,按层次排列的类别列表.
我是否更换现有的FilterUserControl?我可以在任何地方覆盖PopulateListControl方法吗?有没有人有任何LINQ语法来提取自连接的分层数据?
只需指点和建议,谢谢你提供的任何帮助.
亲切的问候,
迈克金斯科特
这里有一个真正令人头疼的问题:我有一个页面上有几个控件,还有一个ASP:按钮或两个.当我在一个控件中,并点击Enter键时,它就像我点击了提交按钮一样,我此时并不想要这样做.
该按钮不在ASP:面板中设置了DefaultButton,它没有OnClientClick属性,我看不到任何监视Enter键的JavaScript ...为什么它会被触发?
如果我创建一个标准的.ASPX页面并在其上放置一个文本框和一个按钮,运行它并点击回车键,该按钮将被忽略,例如点击事件不会触发.这是我期望的行为,但我没有得到.
简而言之,还有什么可能导致按钮认为它是页面的默认按钮?
谢谢,
迈克K.
好的,这是我的测试页面标记:
<p><asp:Label ID="uxNameL" runat="server" AssociatedControlID="uxName">Name</asp:Label><asp:TextBox ID="uxName" runat="server"></asp:TextBox></p>
<p><asp:Button id="uxSubmit" runat="server" Text="Submit" onclick="uxSubmit_Click" /></p>
<asp:Literal ID="uxOut" runat="server" EnableViewState="false"></asp:Literal>
Run Code Online (Sandbox Code Playgroud)
这是代码中发生的事情:
protected void uxSubmit_Click(object sender, EventArgs e)
{
uxOut.Text = uxName.Text;
}
Run Code Online (Sandbox Code Playgroud)
当我运行页面,并在文本框中输入一些文本并按Enter - ha时,你会看到:在IE 8中,按钮事件被忽略,例如页面只是重新加载,但在FF中,它提交表单. ..
Hmmmmm.