如何使用C#訪問.ascx文件中的公共函數? 謝謝訪問.ascx中的公共函數
0
A
回答
2
如果該函數不是靜態的,則需要先獲取包含此函數的類的實例,然後調用此實例上的函數。例如:
<%
// obtain an instance of the type containing the function
Foo instance = new Foo();
// invoke the function on this instance
string result = instance.Bar();
%>
很顯然,在代碼背後執行此操作會更好,而不是污染您的標記。
2
像.NET Framework中的其他公共函數 - 通過對象引用。但有時Visual Studio不會自動查看您的用戶控件的公共成員。如果IntelliSense窗口不顯示給您,請嘗試重建您的用戶控件和網站。
1
你從哪裏調用函數?包含頁面?母版?家長控制?控制本身?無論如何,您需要以某種方式獲取對控件實例的引用(除非方法是靜態的)才能調用此方法。並且引用的類型必須與定義該方法的類的類型相匹配。
編輯:
MyControl myControl = (MyControl)Page.FindControl("Id_Of_The_Control");
if (myControl != null)
{
myControl.TheMethod();
}
1
,如果你不想添加ascx控件到一個佔位符編程,只需要實現IAttributeAccessor
和IUserControlDesignerAccessor
接口,您的用戶控件類等;
public partial class yourascxclassname: System.Web.UI.UserControl, IAttributeAccessor, IUserControlDesignerAccessor
您只能訪問您的ascx控件的公共成員。
相關問題
- 1. 訪問ascx.cs公共布爾在ascx html
- 2. CakePHP中的非公共訪問函數
- 3. 訪問php類中的公共函數中的數組元素
- 4. 訪問一個靜態函數內的公共/私人函數?
- 5. 訪問setPositiveButton中的公共數組列表OnClick函數
- 6. 如何在javascript中訪問parent函數的公共屬性?
- 7. 從jQuery插件中訪問公共函數
- 8. VB.NET中的公共函數
- 9. JavaScript的私有函數訪問公共變量
- 10. 公共和私人訪問爲相同的成員函數
- 11. 如何從asp.net中的公共共享函數調用公共函數?
- 12. SQL Server中的「公共」角色訪問
- 13. 訪問Rails中的公共文件
- 14. 訪問公共類中的標籤
- 15. scala中的默認公共訪問
- 16. Google Drive公共API訪問
- 17. 訪問Xively公共飼料
- 18. 訪問公共Web API
- 19. 限制訪問公共API
- 20. Amazon ElasticCache Redis公共訪問
- 21. 公共變量訪問
- 22. 訪問公共服務器的問題
- 23. 從原型函數(IIFE)訪問實例公共屬性
- 24. C++:從類之外訪問公共成員函數
- 25. AssetManager公共構造函數不可訪問
- 26. 如何訪問C++公共類函數在C文件修改
- 27. Javascript:從私人函數訪問公共變量
- 28. 公共成員函數問題
- 29. 如何從JavaScript模塊中的私有和公共函數訪問公共屬性?
即時通訊嘗試從.aspx文件調用它 – hhh 2011-03-09 23:28:43
用戶控件是在頁面上嗎?它是否在像DataGrid或嚮導之類的模板化控件中?如果它只是在頁面上,那麼你可以使用FindControl。看到我更新的答案。 – mikesigs 2011-03-09 23:31:08
不知道是否通過「從.aspx文件」你的意思是代碼後面或以某種方式在標記?您可以訪問標記中的公共屬性,即。但我敢肯定你不能用一種方法來做到這一點,不知道爲什麼你會想。 –
mikesigs
2011-03-10 01:00:46