我只是想知道这两个陈述之间是否有任何性能差异
Page.IsPostBack
或
IsPostBack
答案 0 :(得分:5)
IL级别会有所不同(第一种情况下是额外的getter调用),但它可以忽略不计,你根本不应该打扰。
答案 1 :(得分:3)
没有实际差异。 Page
属性仅公开对this
的同一实例的引用。
答案 2 :(得分:2)
两个陈述的执行之间的差异很小。
IsPostBack属性属于Page类。使用你的第二个'IsPostBack'语句是最有意义的。
Page属性实际上来自Control类,Page类最终继承。解析Page属性可能需要几纳秒。
答案 3 :(得分:1)
不是真的。这将是次要的。你不应该担心这个。
答案 4 :(得分:0)
使用IsPostBack。
Control类公开了一个Page属性,该属性当然是指包含页面。这对儿童控制有一定意义。 ASP.NET Page类是Control的后代,因此有一个引用自身的Page属性 。
如果您知道有一个Page实例,而不是一般的控件,则没有充分的理由使用Page属性。它是噪音,使代码混乱。
在页面的代码隐藏中,“this”指的是Page对象。与.NET中的任何其他类一样,IsPostback与this.IsPostback的意思相同。只要对当前类的任何其他属性做你想做的事。
IsPostBack的速度稍快,与您在所有其他类中的操作一致。 Page.IsPostBack意味着有魔力在继续。