我有以下的代碼片段。我只能以非靜態方式訪問PbcTreeView
,所以我在Page_Load期間調用它。但是,setTreeView()方法無法訪問對象b
,因此無法調用buildTreeView()方法。 (根據WebMethod規則,setTreeView()必須是靜態的,buildTreeView不能是靜態的,因爲它使用了TreeView)。我怎麼能得到它做類似b.buildTreeView()
,我在方法中?如何使用靜態方法調用非靜態方法(使用WebControl)?
感謝
protected void Page_Load(object sender, EventArgs e)
{
BuildPbcTree b = new BuildPbcTree(PbcTreeView);
}
[WebMethod]
public static void setTreeView()
{
b.buildTreeView(); //how do I do this??
}
public class BuildTree
{
TreeView Tree;
public BuildTree(TreeView t)
{
Tree = t;
}
public void buildTreeView() {...//implementation}
}
你不能那樣做。 AJAX方法的要點是沒有頁面生命週期。 – SLaks 2014-09-04 20:10:35
@SLaks謝謝,你會如何解決我想要做的事情? – 2014-09-04 20:32:10
您必須將BuildPbcTree包裝在Singleton類中http://www.dotnetperls.com/singleton – 2014-09-04 20:43:06