我正在用 C#、asp.net 构建审计跟踪。在.aspx 页面上,我有几个与常规字段相关联的隐藏字段(即txtFirstName -> firstNameTrackerHiddenField)。我进行了设置,以便当用户向字段输入/选择数据时,隐藏字段会获得一个为其设置的值。例子:
protected void txtFirstName_TextChanged(object sender, EventArgs e)
{
this.FirstNameTrackerHiddenField.Value = "1";
}
现在要构建我的审核日志,我只想检查每个隐藏字段,拉出不为空的字段,并附加一个字符串,具体取决于用户输入/更改的字段。我可以做一堆嵌套的 if 语句,但这真的很草率。对不起,如果我没有任何意义,我对编码世界还是有点陌生,我认为这种方法会非常简洁且易于实施。这是我到目前为止在 auditLog 方法中的内容:
protected string auditLogString()
{
string auditLog = this.txtAuditLogReadOnly.Text + System.Environment.NewLine + System.Environment.NewLine +
DateTime.Now.ToString() + "- (Incident saved by: " + Page.User.Identity.Name + ") ";
if (this.FirstNameTrackerHiddenField.Value != string.Empty)
{
auditLog += "- with changes to First Name."
if (this.LastNameTrackerHiddenField.Value != string.Empty)
{
auditLog += "- with changes to Last Name."
}
}
return auditLog;
}
而这样的例子不胜枚举。大约有 50 个字段需要循环,这就是为什么我想知道是否有更好的方法来解决这个问题......感谢您的任何意见,请不要对我粗暴...... :)