是否有人能够解释或指向解释静态类和方法的范围如何与ASP.NET用户会话的范围交互的文章.
以下是解释我问题的更具体情况:
一旦用户B命中数据,数据是否已经初始化?
如果用户A的asp.net会话在用户B访问网站之前到期,该怎么办?
我遇到过很多我声明了通用接口的情况,后来我需要这个接口的非泛型版本,或者至少是该接口上某些方法或属性的非泛型版本.我通常会声明一个新的非泛型接口并让它继承通用接口.我遇到的问题在下面的示例中显示:
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(非泛型)接口的唯一方法是明确的,你们如何将其抽象化呢?
我几天前发布了一个关于viewstate的问题,在运行了一些测试后,我得出了一些结论/结果.基于这些结果,我有一些关于某人如何做某些事情的问题.
以下是我运行的测试结果:
OnInitPage 加载的,那么他的viewstate将可用OnLoad.usercontrolA从其加载的所有其他控件OnInit将使其viewstate准备就绪OnLoad.OnLoadPage 加载的,那么他的viewstate将可用OnPreRender.usercontrolA从其加载的所有其他控件OnLoad将在其中提供其viewstate OnPreRender.OnLoad之前和之后OnPreRender)加载的,那么他的视图状态将不可用.usercontrolA loades的所有其他控件都不会提供其viewstate.因此,在完美的世界中,您总是会使用情境#1加载所有控件,以便他们的视图状态可用OnLoad.不幸的是,当你需要从一个点击按钮或从负载的控制OnLoad,是有没有办法控制之前得到它的ViewState的OnPreRender阶段?
我已经在viewstate上阅读了一堆文章并认为我理解它,但是在我当前的应用程序上加载加载其他用户控件的usercontrols,我真的很难在我的叶子上获得viewstate(最后在链中) )usercontrol.
任何建议和/或链接表示赞赏.
我有一节课:
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.
如何设置正确的参数呢?
在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)
任何人都可以建议如何做到这一点?谢谢
我需要为业务对象编写第二个相等比较器.它是一种专门的等式比较器,仅适用于某些情况.我不想重写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
asp.net ×2
generics ×1
javascript ×1
jquery ×1
jquery-ui ×1
sql ×1
sql-server ×1
t-sql ×1
viewstate ×1