小编Blu*_*eon的帖子

ASP.NET静态类和asp.net会话

是否有人能够解释或指向解释静态类和方法的范围如何与ASP.NET用户会话的范围交互的文章.

以下是解释我问题的更具体情况:

  1. 用户A登录到asp.net网站.
  2. 在做某事时,用户A使用静态方法初始化某些数据.
  3. 用户B登录到同一个asp.net网站.
  4. 用户B命中相同的静态方法.

一旦用户B命中数据,数据是否已经初始化?

如果用户A的asp.net会话在用户B访问网站之前到期,该怎么办?

asp.net static-methods static-classes

10
推荐指数
2
解决办法
6185
查看次数

通用和非通用接口

我遇到过很多我声明了通用接口的情况,后来我需要这个接口的非泛型版本,或者至少是该接口上某些方法或属性的非泛型版本.我通常会声明一个新的非泛型接口并让它继承通用接口.我遇到的问题在下面的示例中显示:

public abstract class FormatBase { }

public interface IBook<F> where F : FormatBase
{
    F GetFormat();
}

public interface IBook
{
    object GetFormat();
}

public abstract class BookBase : IBook<FormatBase>, IBook
{
    public abstract FormatBase GetFormat();

    object IBook.GetFormat()
    {
        return GetFormat();
    }
}
Run Code Online (Sandbox Code Playgroud)

由于声明IBook(非泛型)接口的唯一方法是明确的,你们如何将其抽象化呢?

c# generics

9
推荐指数
2
解决办法
2722
查看次数

ASP.NET中的Viewstate和控件

我几天前发布了一个关于viewstate的问题,在运行了一些测试后,我得出了一些结论/结果.基于这些结果,我有一些关于某人如何做某些事情的问题.

以下是我运行的测试结果:

  1. 如果usercontrolA是从OnInitPage 加载的,那么他的viewstate将可用OnLoad.usercontrolA从其加载的所有其他控件OnInit将使其viewstate准备就绪OnLoad.
  2. 如果usercontrolA是从OnLoadPage 加载的,那么他的viewstate将可用OnPreRender.usercontrolA从其加载的所有其他控件OnLoad将在其中提供其viewstate OnPreRender.
  3. 如果usercontrolA是从一个页面的事件(例如:按钮单击.事件触发OnLoad之前和之后OnPreRender)加载的,那么他的视图状态将不可用.usercontrolA loades的所有其他控件都不会提供其viewstate.

因此,在完美的世界中,您总是会使用情境#1加载所有控件,以便他们的视图状态可用OnLoad.不幸的是,当你需要从一个点击按钮或从负载的控制OnLoad,是有没有办法控制之前得到它的ViewState的OnPreRender阶段?

我已经在viewstate上阅读了一堆文章并认为我理解它,但是在我当前的应用程序上加载加载其他用户控件的usercontrols,我真的很难在我的叶子上获得viewstate(最后在链中) )usercontrol.

任何建议和/或链接表示赞赏.

c# asp.net viewstate user-controls

8
推荐指数
1
解决办法
7004
查看次数

在JavaScript中手动执行事件

我有一节课:

function x() 
{   
    this.initialize = function () { }         
    this.filterSelection = function (event, ui) { /* code */ }
}
Run Code Online (Sandbox Code Playgroud)

我通过以下方法将filterSelection方法挂钩到其他项:

$(item).on("click", this, this.filterSelection );
Run Code Online (Sandbox Code Playgroud)

调用filterSelection时,event.data指向我的类的实例.
现在我需要在initialize()方法中手动调用filterSelection.
如何设置正确的参数呢?

javascript jquery jquery-ui

6
推荐指数
1
解决办法
328
查看次数

在SQL中将多行合并为一行

在sql server 2008中,我有一个包含[a],[b],[c],[sort]列的表,它有4条记录:

1,      NULL,  NULL    0
NULL,   2,     NULL    1
NULL,   NULL,  3       2
10,     NULL,  NULL    3
Run Code Online (Sandbox Code Playgroud)

我需要以一种方式组合所有行,结果得到一行,并且对于每一列,我得到第一个(按排序列排序)非空值.所以我的结果应该是:

1,      2,     3
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议如何做到这一点?谢谢

sql t-sql sql-server sql-server-2008

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

C#使用两个不同的相等比较器

我需要为业务对象编写第二个相等比较器.它是一种专门的等式比较器,仅适用于某些情况.我不想重写Equal(),因为我们的持久层使用它来内部比较对象以供自己使用.让我举个例子:

public class Product : BusinessObjectBase
{
    string Name  {get;set;}
    string Desc  {get;set;}
    double Price {get;set;}
} 
Run Code Online (Sandbox Code Playgroud)

由于我们在数据访问层中将这三个属性标记为持久数据属性,因此BusinessObjectBase中的Equals()会比较这些属性.现在,在一个特定的例子中,我想检查产品A是否等于产品B只是名称.我不想在检查上硬编码实际属性,因为此属性可能会在以后更改.

虽然可以在这里使用IComparer,但是基于MSDN上的描述,IComparer应该用于不等同于项目,而是对它们进行排序,因此这似乎不是100%正确的答案.我想使用.NET已有的东西,而不是创建另一个接口.做这个的最好方式是什么?

谢谢

c#

3
推荐指数
1
解决办法
125
查看次数