Làm cách nào để truy cập thuộc tính được xác định trên trang chủ của tôi từ codebehind trong một điều khiển người dùng?Truy cập thuộc tính masterpage từ usercontrol
Trả lời
Page.Master hiển thị trang chính bên dưới, nếu có.
var master = (this.Page.Master as SiteMaster);
if (master != null)
{
var myProperty = master.MyProperty;
}
this.NamingContainer.Page.Master.Property;
Trong trường hợp của Master Page của bạn là cố định hơn Bạn có thể tìm kiểm soát và tài sản như thế này:
MasterPageName mp =(MasterPageName) Page.Master;
//find a control
Response.Write((mp.FindControl("txtmaster") as TextBox).Text);
//find a property
Response.Write(mp.MyProperty.Text);
// trên MasterPageName.cs
public TextBox MyProperty
{
get { return txtmaster; }
}
// trên MasterPageName.Master
<asp:TextBox runat="server" ID="txtmaster"></asp:TextBox>
-1: anh ấy không nói gì về việc truy cập điều khiển –
Nếu MasterPage là như thế này,
public partial class MasterPage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
//
}
// the property which I would like to access from user control
public String MyName
{
get
{
return "Nazmul";
}
}
}
Sau đó, từ sự kiểm soát của người dùng, bạn có thể truy cập vào "Myname" bằng cách này,
MasterPage m = Page.Master as MasterPage;
Type t = m.GetType();
System.Reflection.PropertyInfo pi = t.GetProperty("MyName");
Response.Write(pi.GetValue(m,null)); //return "Nazmul"
Càng nhiều càng tốt tôi đã hiểu:
- có Trang chính (MasterPage.master)
- trang web (Default.aspx) đang sử dụng MasterPage.
- trang web có quyền kiểm soát của người dùng.
- Bây giờ bạn muốn truy cập thuộc tính của một MasterPage từ điều khiển người dùng này.
phép nói rằng trong MasterPage có một tài sản được gọi tên như
public string Name{ get{return "ABC";} }
Bây giờ bạn muốn truy cập vào thuộc tính này từ UserControl.
Với mục đích này trước tiên bạn sẽ phải đăng ký trang chính trong điều khiển người dùng như thế này.
<%@ Register TagPrefix="mp" TagName="MyMP" Src="~/MasterPage.master" %>
Bây giờ, trước tiên bạn sẽ có được tham chiếu của trang mà điều khiển người dùng này đang cư trú và sau đó lấy Trang chính của trang đó. Mã sẽ như thế này.
System.Web.UI.Page page = (System.Web.UI.Page)this.Page;
MasterPage1 mp1 = (MasterPage1)page.Master;
lbl1.Text= mp1.Name;
- 1. Thuộc tính UserControl asp.net
- 2. ASP.NET: Gọi hàm trong MasterPage qua UserControl
- 3. Quyền bị từ chối truy cập thuộc tính 'href'
- 4. Truy cập thuộc tính IFrame tên miền chéo từ JavaScript
- 5. Truy cập thuộc tính mục tiêu-C
- 6. groovy: Cách truy cập tệp thuộc tính?
- 7. Truy cập thuộc tính android: installLocation manifest
- 8. Cách truy cập thuộc tính số?
- 9. Truy cập HTML thuộc tính trong Nokogiri
- 10. WPF ràng buộc thuộc tính của usercontrol vào thuộc tính của cha mẹ
- 11. WPF - UserControl mặc định Thuộc tính nội dung
- 12. Cho phép bất kỳ thuộc tính/thuộc tính nào trên máy chủ/usercontrol
- 13. Cách truy cập thuộc tính CGColor của UIColor trong CGContextSetFillColorWithColor?
- 14. jQuery truy cập thuộc tính dữ liệu html5
- 15. Cách truy cập thuộc tính Identity ID đối tượng
- 16. Truy cập đã lưu Thuộc tính này trong Function
- 17. Truy cập thuộc tính của DbSet theo tên
- 18. Truy cập các tệp thuộc tính bên ngoài .jar?
- 19. Truy cập các thuộc tính tĩnh trong Sencha Touch
- 20. C# truy cập các giá trị thuộc tính động theo tên thuộc tính
- 21. UserControl Giá trị mặc định trong thuộc tính
- 22. Đặt thuộc tính khi được thêm động UserControl
- 23. Thuộc tính văn bản trong UserControl trong C#
- 24. Đặt thuộc tính UserControl để không hiển thị trong cửa sổ thuộc tính VS
- 25. Truy cập thuộc tính trong PrepareForSegue của một UIViewController
- 26. Có thể truy cập thuộc tính con "DebuggerDisplay" của thuộc tính không?
- 27. truy cập thuộc tính đối tượng của một javascript mà không biết rằng tên thuộc tính
- 28. Thuộc tính Truy cập-C động sử dụng tên của thuộc tính
- 29. Truy cập các thuộc tính mô hình trong Rails
- 30. Cách tốt nhất để truy cập các thuộc tính tệp
Không có ['MasterType' chỉ thị] (http://msdn.microsoft.com/en-us/library/ms228274.aspx) để kiểm soát người dùng, tôi đoán vậy? –
Loại hoặc không gian tên SiterMaster không thể tìm thấy – Johan
@Johan, vâng, đây là loại thực tế của trang cái của bạn. Ví dụ nếu bạn có Site.Master sau đó sử dụng SiteMaster, nếu bạn có FooBar.Matser sau đó sử dụng FooBarMaster, ... –