我为我的应用程序设置了自定义错误页面:
<customErrors mode="On" defaultRedirect="~/errors/GeneralError.aspx"
/>
在Global.asax,Application_Error()中,以下代码用于获取异常详细信息:
  Exception ex = Server.GetLastError();
  if (ex != null)
    {
        if (ex.GetBaseException() != null)
            ex = ex.GetBaseException();
    }
当我到达我的错误页面(〜/ errors/GeneralError.aspx.cs)时,Server.GetLastError()为null
有没有什么办法可以在错误页面上获取异常详细信息,而不是在Global.asax.cs中?
Vista/IIS7上的ASP.NET 3.5
这就是我在许多其他类继承的类中作为方法提出的.这个想法是它允许在相同类型的对象的属性之间进行简单比较.
现在,这确实有效 - 但为了提高我的代码质量,我想我会把它扔出去仔细检查.它怎么能更好/更有效/等等?
/// <summary>
/// Compare property values (as strings)
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public bool PropertiesEqual(object comparisonObject)
{
    Type sourceType = this.GetType();
    Type destinationType = comparisonObject.GetType();
    if (sourceType == destinationType)
    {
        PropertyInfo[] sourceProperties = sourceType.GetProperties();
        foreach (PropertyInfo pi in sourceProperties)
        {
            if ((sourceType.GetProperty(pi.Name).GetValue(this, null) == null && destinationType.GetProperty(pi.Name).GetValue(comparisonObject, null) == null))
            {
                // if both are null, don't try to compare  (throws exception)
            }
            else if (!(sourceType.GetProperty(pi.Name).GetValue(this, null).ToString() == destinationType.GetProperty(pi.Name).GetValue(comparisonObject, null).ToString()))
            {
                // only …我正在开展一个项目,我发现我正在许多地方检查以下内容:
if(item.Rate == 0 || item.Rate == null) { }
更像是一种奇怪而不是什么,检查这两种情况的最佳方法是什么?
我添加了一个辅助方法,它是:
public static bool nz(object obj)
{
    var parsedInt = 0;
    var parsed = int.TryParse(obj.ToString(), out parsedInt);
    return IsNull(obj) || (parsed && parsedInt == 0);
}
有没有更好的办法?
我刚刚安装了resharper,它让我知道我在每个课程中都没有实际使用的命名空间.
这引出了我的问题 - 实际上是否存在使用声明留下这些未使用的开销?
它只是一个严密的代码问题,还是在我不需要时调用这些命名空间的性能?
对我来说似乎完全落后于这样一个出色的IDE会默认隐藏行号.这似乎是一个明显的疏忽,或默认不佳.
这意味着我错过了一些东西 - 因为在VS开发团队和我之间,我知道谁有更多的经验.
那我错过了什么?为什么我没有需要看到的代码行数?
什么是适合C#的正则表达式,如果匹配以下内容,它将验证一个数字?
Run Code Online (Sandbox Code Playgroud)$1,000,000.150 $10000000.199 $10000 1,000,000.150 100000.123 10000
还是负面的等价物?
CssClass在代码隐藏中设置很容易,但是存在覆盖现有类的风险.
我需要设置某些元素,ReadOnly = true;并且我想将样式应用为视觉提示,该项目无法更改......很简单:
.CssClass += " ReadOnlyStyle";
但有时我还需要更改相同的元素,ReadOnly = false;这意味着我将需要删除我设置的CSS类,而不删除我可能已分配的任何其他样式.
最好的方法是什么?
正如问题所说 - 有没有办法确定哪些页面包含我的网页部分?
我有一堆字符串,我需要从中提取数字.他们的格式是:
XXXX001
XXXXXXX004
XX0234X
有很多这些,我需要遍历它们并提取所有数字.
那么使用ASP.NET 3.5在字符串中查找数字的第一个实例的最快/最有效的方法是什么?
更新 我应该包含更多信息 - 获取答案,为我提供如何提取所有数字的想法,而不是找到第一个索引.不是问题 - 我相信其他人会发现它们很有用.
在我的情况下,我实际上需要索引,因为我正在做更多的字符串分析(即可能有一个范围XXXX0234-0237XX或一对XXXXX0234和0238XX.
找到第一个数字的索引有助于我定位字符串的有趣部分以供检查.
我有一些代码来查找和替换word文档中的字段与数据集中的值.
Word.Document oWordDoc = new Word.Document();  
foreach (Word.Field mergeField in oWordDoc.Fields)  
{  
   mergeField.Select();  
   oWord.Selection.TypeText( stringValueFromDataSet );  
}
在某些情况下stringValueFromDataSet是空的,除了什么都不插入,我想实际删除当前行.
知道我怎么能这样做吗?