【发布时间】:2014-09-07 23:27:03
【问题描述】:
我有一个连接到母版页的内容页。我可以访问母版页上的元素,并通过调用站点母版上的方法直接从内容页 .cs 文件修改它。 (这可能是人们在这类领域中最常见的错误)
我的问题是我想扩展此功能以从 AJAX 请求更新站点母版页。 ajax 文件调用一个不同的页面,该页面依次启动一个逻辑层的实例,我将其用于所有计算和连接。我想要做的是直接从逻辑层访问站点管理员(只有一个 .cs 文件)。
我当前的代码是这样的:
SiteMaster sm = new SiteMaster();
sm.MyMethod("param1", "param2");
这成功访问了站点主控中名为“MyMethod”的方法,但在此方法中我有以下代码:
mySpan.InnerText = "this is a test";
这不起作用,因为我收到“对象引用未设置为对象的实例......”错误。这是因为 mySpan 为 NULL。如果我使用 this.mySpan.InnerText 调用它,如果我将鼠标悬停在“this”上,那么我可以看到 ID“mySpan”。
有谁知道我该如何解决这个问题?我所做的每一次搜索都是针对那些想要从内容页面访问元素的人,这些内容已经对我有用。
【问题讨论】:
-
@Liath 是的,mySpan 为空,感谢您指出这一点,我将其添加到原始问题中。
-
我个人使用this.Page.Master作为SiteMaster;
-
您能否补充一下您是如何获得 mySpan 的?大概是 sm.mySpan?
-
@Liath 你到底是什么意思?在方法“MyMethod”中,我只是有我在问题中发布的行(在我的 Site.Master.cs 文件中)。 mySpan 根据 VS2012 可用,但运行代码时它始终为 null。
标签: c# asp.net master-pages business-logic-layer