如何在ASP.NET中創建事件處理代碼並在多個頁面上的控件之間共享它?在頁面之間共享事件處理程序代碼
例如,兩頁與
<asp:Repeater runat="server" OnItemCreated="NavigationItemCreated">
而不是複製它的每一頁我試圖把它變成一個類,這兩個網頁訪問
<asp:Repeater runat="server" OnItemCreated="MyHelper.NavigationItemCreated">
該類如下:
public class MyHelper
{
public static void NavigationItemCreated(object sender, RepeaterItemEventArgs e) { }
public static string MyProperty { get; set; }
}
但是,當我嘗試運行時出現錯誤(發生有或沒有static
):
編譯器錯誤消息: CS1061:「ASP.page_default_aspx」不包含關於「MyHelper」和沒有擴展方法的定義「MyHelper」接受型的第一參數「ASP.page_default_aspx」能找到(是否缺少using指令或程序集引用?)
我仍然可以訪問MyProperty
與<%# MyHelper.MyProperty %>
,所以MyHelper
可以通過頁面中使用,只是沒有被事件處理程序。
更新:
製造類和事件處理代碼的靜態和,不能正常工作,同樣沒有把它變成它自己的命名空間,並使用MyNamespace.MyHelper.NavigationItemCreated
該類位於App_Code文件中,沒有名稱空間(所以應位於全局ASP名稱空間中?)。事實上,我可以訪問屬性確定表明這是另一個問題 – SamWM 2011-04-13 09:54:03
@ SamWM =這是在我的項目中工作.................. – 2011-04-13 10:02:41
頁面沒有代碼後面:'< %@ Page Language =「C#」MasterPageFile =「〜/ MasterPage.master」%>' – SamWM 2011-04-13 10:15:01