小编nai*_*own的帖子

ASP.NET自定义错误页面 - Server.GetLastError()为null

我为我的应用程序设置了自定义错误页面:

<customErrors mode="On" defaultRedirect="~/errors/GeneralError.aspx"
/>
Run Code Online (Sandbox Code Playgroud)

在Global.asax,Application_Error()中,以下代码用于获取异常详细信息:

  Exception ex = Server.GetLastError();
  if (ex != null)
    {
        if (ex.GetBaseException() != null)
            ex = ex.GetBaseException();
    }
Run Code Online (Sandbox Code Playgroud)

当我到达我的错误页面(〜/ errors/GeneralError.aspx.cs)时,Server.GetLastError()为null

有没有什么办法可以在错误页面上获取异常详细信息,而不是在Global.asax.cs中?

Vista/IIS7上的ASP.NET 3.5

asp.net web-applications exception custom-error-pages

111
推荐指数
6
解决办法
11万
查看次数

比较c#中的对象属性

这就是我在许多其他类继承的类中作为方法提出的.这个想法是它允许在相同类型的对象的属性之间进行简单比较.

现在,这确实有效 - 但为了提高我的代码质量,我想我会把它扔出去仔细检查.它怎么能更好/更有效/等等?

/// <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 …
Run Code Online (Sandbox Code Playgroud)

c# comparison properties object

111
推荐指数
5
解决办法
15万
查看次数

可空类型:在c#中检查null或0的最佳方法

我正在开展一个项目,我发现我正在许多地方检查以下内容:

if(item.Rate == 0 || item.Rate == null) { }
Run Code Online (Sandbox Code Playgroud)

更像是一种奇怪而不是什么,检查这两种情况的最佳方法是什么?

我添加了一个辅助方法,它是:

public static bool nz(object obj)
{
    var parsedInt = 0;
    var parsed = int.TryParse(obj.ToString(), out parsedInt);
    return IsNull(obj) || (parsed && parsedInt == 0);
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

c# null zero

74
推荐指数
5
解决办法
14万
查看次数

未使用的"使用"声明的开销?

我刚刚安装了resharper,它让我知道我在每个课程中都没有实际使用的命名空间.

这引出了我的问题 - 实际上是否存在使用声明留下这些未使用的开销?

它只是一个严密的代码问题,还是在我不需要时调用这些命名空间的性能?

c# performance using

48
推荐指数
4
解决办法
6233
查看次数

Visual Studio - 为什么默认关闭行号?

对我来说似乎完全落后于这样一个出色的IDE会默认隐藏行号.这似乎是一个明显的疏忽,或默认不佳.

这意味着我错过了一些东西 - 因为在VS开发团队和我之间,我知道谁有更多的经验.

那我错过了什么?为什么我没有需要看到的代码行数?

user-interface default visual-studio

40
推荐指数
3
解决办法
3372
查看次数

什么是C#正则表达式,它将验证货币,浮点数或整数?

什么是适合C#的正则表达式,如果匹配以下内容,它将验证一个数字?

 $1,000,000.150
 $10000000.199
 $10000 
 1,000,000.150
 100000.123
 10000
Run Code Online (Sandbox Code Playgroud)

还是负面的等价物?

c# regex numbers currency

8
推荐指数
2
解决办法
3万
查看次数

从代码中更改CSS类

CssClass在代码隐藏中设置很容易,但是存在覆盖现有类的风险.

我需要设置某些元素,ReadOnly = true;并且我想将样式应用为视觉提示,该项目无法更改......很简单:

.CssClass += " ReadOnlyStyle";
Run Code Online (Sandbox Code Playgroud)

但有时我需要更改相同的元素,ReadOnly = false;这意味着我将需要删除我设置的CSS类,而不删除我可能已分配的任何其他样式.

最好的方法是什么?

css c# asp.net webforms

5
推荐指数
2
解决办法
4万
查看次数

Sharepoint:我如何找到托管特定Web部件的所有页面?

正如问题所说 - 有没有办法确定哪些页面包含我的网页部分?

sharepoint web-parts

5
推荐指数
1
解决办法
9751
查看次数

使用.NET 3.5查找字符串中的第一个数字

我有一堆字符串,我需要从中提取数字.他们的格式是:

XXXX001
XXXXXXX004
XX0234X
Run Code Online (Sandbox Code Playgroud)

有很多这些,我需要遍历它们并提取所有数字.

那么使用ASP.NET 3.5在字符串中查找数字的第一个实例的最快/最有效的方法是什么?

更新 我应该包含更多信息 - 获取答案,为我提供如何提取所有数字的想法,而不是找到第一个索引.不是问题 - 我相信其他人会发现它们很有用.

在我的情况下,我实际上需要索引,因为我正在做更多的字符串分析(即可能有一个范围XXXX0234-0237XX或一对XXXXX0234和0238XX.

找到第一个数字的索引有助于我定位字符串的有趣部分以供检查.

string parsing numbers find .net-3.5

5
推荐指数
2
解决办法
7135
查看次数

如何使用c#以编程方式从Word文档中删除一行?

我有一些代码来查找和替换word文档中的字段与数据集中的值.

Word.Document oWordDoc = new Word.Document();  
foreach (Word.Field mergeField in oWordDoc.Fields)  
{  
   mergeField.Select();  
   oWord.Selection.TypeText( stringValueFromDataSet );  
}
Run Code Online (Sandbox Code Playgroud)

在某些情况下stringValueFromDataSet是空的,除了什么都不插入,我想实际删除当前行.

知道我怎么能这样做吗?

.net c# ms-word

4
推荐指数
1
解决办法
7946
查看次数