我有一个主页面,其中包含状态消息的标签。我需要从不同的.aspx页面设置状态文本。如何从内容页面做到这一点?
public partial class Site : System.Web.UI.MasterPage { public string StatusNachricht { get { return lblStatus.Text; } set { lblStatus.Text = value; } } protected void Page_Load(object sender,EventArgs e) { } }
我试过这个,但没有成功使其工作:
public partial class DatenAendern : System.Web.UI.Page { var master = Master as Site; protected void Page_Load(object sender,EventArgs e) { if (master != null) { master.setStatusLabel(""); } } protected void grdBenutzer_RowCommand(object sender,GridViewCommandEventArgs e) { try { //some code if (master != null) { master.setStatusLabel("Passwort erfolgreich geändert."); } } catch (Exception ex) { if (master != null) { master.setStatusLabel("Passwort konnte nicht geändert werden!"); } } } } }
解决方法
在MasterPage.cs文件中添加Label的属性,如下所示:
public string ErrorMessage { get { return lblMessage.Text; } set { lblMessage.Text = value; } }
在您的aspx页面上,就在Page Directive下面添加:
<%@ Page Title="" Language="C#" MasterPageFile="Master Path Name"..... %> <%@ MasterType VirtualPath="Master Path Name" %> // Add this
在你的codebehind(aspx.cs)页面,你可以很容易地访问标签属性,并根据需要设置其文本。喜欢这个:
this.Master.ErrorMessage = "Your Error Message here";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。