如何使用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. 訪問php類中的公共函數中的數組元素
- 2. 訪問一個靜態函數內的公共/私人函數?
- 3. 從jQuery插件中訪問公共函數
- 4. 公共和私人訪問爲相同的成員函數
- 5. 如何從asp.net中的公共共享函數調用公共函數?
- 6. SQL Server中的「公共」角色訪問
- 7. scala中的默認公共訪問
- 8. 限制訪問公共API
- 9. 公共變量訪問
- 10. 訪問公共服務器的問題
- 11. C++:從類之外訪問公共成員函數
- 12. 在Linux VM中訪問Azure公共IP
- 13. 從位於另一個公共函數中的函數的類內部訪問函數
- 14. .ascx中的javascript函數
- 15. SVN公共DNS訪問問題
- 16. 無法訪問公共類中的公共類的公共類(全部在單獨的jar中)
- 17. 有沒有辦法從CoffeeScript類中的私人函數訪問公共成員
- 18. 如何在flex中訪問自定義組件外的公共函數?
- 19. 來自公共ip的訪問網站
- 20. 的AddRange讓步公共訪問列表
- 21. 訪問公共方法的活動
- 22. Joomla1.5頁面的公共訪問級別
- 23. Facebook的公共訪問令牌,權限
- 24. Rails的公共/私有訪問
- 25. AS 3.0中的公共靜態函數
- 26. 無法從Lambda函數訪問非公開訪問的RDS/MYSQL
- 27. JavaScript中訪問其他公共方法內(同一目標)的公共方法
- 28. 將公共佈局應用於ASP.NET MVC中的ascx控件MVC
- 29. Usercontrol .ascx變量訪問
- 30. 訪問沒有訪問令牌的公共圖片?
即時通訊嘗試從.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