我已經創建了我自己的自定義角色提供程序類「SGI_RoleProvider」並進行了正確配置。 一切工作正常。有沒有辦法調用自定義角色提供程序類的自定義方法
假設我已經添加了一個名爲「SayHello()」的公共方法,那麼我怎麼稱呼它。因爲如果我使用角色,那麼該方法不會顯示。如果我強制使用Roles.SayHello(),那麼編譯器會給出錯誤。
任何建議我怎麼能這樣稱呼。因爲創建一個SGI_RoleProvider的新實例是沒有意義的。
感謝分享你的時間。
我已經創建了我自己的自定義角色提供程序類「SGI_RoleProvider」並進行了正確配置。 一切工作正常。有沒有辦法調用自定義角色提供程序類的自定義方法
假設我已經添加了一個名爲「SayHello()」的公共方法,那麼我怎麼稱呼它。因爲如果我使用角色,那麼該方法不會顯示。如果我強制使用Roles.SayHello(),那麼編譯器會給出錯誤。
任何建議我怎麼能這樣稱呼。因爲創建一個SGI_RoleProvider的新實例是沒有意義的。
感謝分享你的時間。
var myProvider = Roles.Provider as SGI_RoleProvider;
myProvider.SayHello();
假設你已經正確定義提供商的默認提供
也許你可以這樣做
((SGI_RoleProvider)Roles.Provider).SayHello();
一個行語法做這一切。
感謝哥們!但是即使鑄造也不行,因爲角色是一個靜態類。順便說一下我使用C#。 – IrfanRaza 2010-04-21 20:55:35
我測試了這個代碼,它的工作原理是,我不是投射Roles類,而是Roles類的Provider屬性,它是RoleProvider類型。請參閱http://msdn.microsoft.com/en-us/library/system.web.security.roles.provider.aspx。我寫的代碼是C#,也許你使用的是框架2.0,所以你可以寫作 CustomProvider myProvider = Roles.Provider作爲CustomProvider; myProvider.SayHello();改爲 。 祝你好運! – uvita 2010-04-21 23:55:06
太棒了!謝謝uvita!有用。其實我忘記使用Provider屬性。我正在角色扮演角色。是的,我正在考慮VB中的代碼。 – IrfanRaza 2010-04-22 06:48:14