当前位置: 首页 > 编程语言 > C#

在asp.net中从内容页设置母版页的属性,并从另一个内容页获取属性值share

时间:2023-04-11 02:21:05 C#

从内容页设置母版页的属性,并获取属性值从asp.net另一个内容页面获取该属性值我有一个包含属性名称事件类型的母版页。现在我想从内容页面设置这个属性,然后这个属性值应该在另一个内容页面中可用。这可能与asp.net吗?如果是,请帮助我。是的,我的内容页面已经继承了另一个非主页。如果此属性是您添加到母版页的自定义属性,则必须将MasterType声明添加到包含它的页面。这允许网站或应用程序在编译时知道母版页的特定类型,并允许您像访问控件中的任何其他属性一样访问它。Page.Master.MyCustomerProperty=someValue;编辑:作为旁注,当此属性下载到下一个控件时,创建(并引发)一个指示属性已更改的自定义事件是个好主意。通过这种方式,许多控件可以订阅事件并“自我更新”,而无需关心何时设置属性。示例:在主页中,您可以将事件定义为“全局”变量。然后在你的财产中你可以提出这个事件。公共事件EventHandlermyPropertyChanged;publicdelegatevoidMyPropertyChanged(objectsender,EventArgse);//...publicstringMyProperty{get{return_myProperty;}设置{_myProperty=值;如果(myPropertyChanged!=null)myPropertyChanged(this,EventArgs());然后在您的其他控件中,您可以订阅此事件以了解它何时更改:}protectedvoidMasterPropertyChanged(objectsender,EventArgse)//记住你需要VirtualType才能识别这个事件SomeLocalValue=Page.Master.MyProperty;可以在CodeProject上找到此过程的详细分步教程。可以在MSDN上找到一个很好的c#自定义事件教程。如果您的页面来自不同的请求,则main属性将不起作用。母版页不是静态的,每个请求都有不同的页面,这意味着当您尝试检索它时,您设置的值的实例已经消失。在Session字典中,您应该放置要在请求之间保留的用户内容。将属性添加到母版页:publicstringlblBannerText{get{returnlblBanner.Text;}设置{lblBanner.Text=value;然后,获取页面的母版并将其转换为母版类类型:((MyMaster)Page.Master).lblBannerText="bannertext";您可以使用页面的Master属性并访问您的属性链接:http://msdn.microsoft.com/fr-fr/library/system.web.ui.page.master.aspxsampleContentPlaceHoldermpContentPlaceHolder;文本框mpTextBox;mpContentPlaceHolder=(ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");if(mpContentPlaceHolder!=null){mpTextBox=(TextBox)mpContentPlaceHolder.FindControl("TextBox1");if(mpTextBox!=null){mpTextBox.Text="找到文本框!";您可以试试这个在母版页中创建一个属性并从内容页访问它:公共字符串[]RequiredRoles{get{return_RequiredRoles;}设置{_RequiredRoles=值;}}}内容页面:publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load(){Master.必需Roles=newstring[]{//设置合适的角色};获取或设置MasterPage属性的便捷方式,像这样在内容页面中执行以下操作。protectedoverridevoidRender(HtmlTextWriterwriter){varmaster=this.MasterasSite;master.SiteName+="|站点首页";base.Render(作者);}并在母版页中定义属性publicpartialclassSite:System.Web.UI.MasterPage{publicstringMetaDescription{get;放;}publicstringMetaKeywords{get;放;}publicstringSiteName{get;放;}publicSiteSettingssiteSettings{get;放;}protectedvoidPage_Load(objectsender,EventArgse){siteSettings=SettingsFactory.Get();MetaDescription=siteSettings.SearchMetaDescription;MetaKeywords=siteSettings.SearchMetaKeywords;SiteName=siteSettings.SiteName;我有一个类似的问题。这是我做的:以上是C#学习教程:从内容页设置母版页的属性,在asp.net中从另一个内容页获取属性值的全部内容,如果对大家有用的话并且需要了解更多C#学习教程,希望大家多多关注——//idtheformtagandplacearunatserver本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: