現在、YUIグリッドを使用するソリューションを開発中です。私の問題は、私のホームページは他のすべてのページの要約であり、他のページに表示されているグリッドの要約グリッドが含まれているため、各ページのコードに同じコードを再利用したくないということです。私はそれを一元化しようとしている。だから私がやったことは、ホームページとOpen PurchasesページにJSON文字列を書く場所<asp:Placeholders id="LoadOpenPurchasesGridDataPlaceholder" runat="server">
を作ったことです。しかし、すべてのページでサブプロシージャを共有したいので、私はそれをpublicにしましたが、共有メソッドまたは共有メンバ内からクラスのインスタンスメンバを参照することはできません。パブリック共有サブスクライブからasp:プレースホルダにアクセスする
他のコードのページにresponse.writeする場合は、HttpContext.Current.Response.Write()を使用します。ページのHTMLコントロールにアクセスするのと同じ方法がありますか? (私は混乱して申し訳ありませんが発生し、詳細にそれを説明しようとしています。)
マイコード:
Shared Sub LoadOpenPurchasesGrid(ByVal Location As String, ByVal Coop As String, ByVal Commodity As String, ByVal Financed As String, ByVal Season As String, ByVal Trader As String, ByVal Department As String, ByVal Database As String) Try Dim ReturnString As String = Nothing If Location = "0" And Coop = "0" And Commodity = "0" And Season = "0" And Trader = "0" Then ReturnString = (LoadOpenPurchasesGridData("", "", "", "", "", Department, Database)) Dim LoadGridDataContainer As New HtmlGenericControl("input") LoadGridDataContainer.ID = "hdnOpenPurchasesGridData" LoadGridDataContainer.Attributes.Add("type", "hidden") LoadGridDataContainer.Attributes.Add("value", ReturnString) LoadOpenPurchasesGridDataPlaceholder.Controls.Add(LoadGridDataContainer) Else ReturnString = (LoadOpenPurchasesGridData(Location, Coop, Commodity, Season, Trader, Department, Database)) HttpContext.Current.Response.Write(ReturnString) End If HttpContext.Current.Response.Write(ex.message) End Try End Sub