我正在用c编写一个asp.net 4应用程序。我有一个母版页,其中我有以下方法:

public void DisplayMessage(string input)
{
   Label myMessageDisplayer = (Label)FindControl("uxMessageDisplayer");
   myMessageDisplayer.Text = input;
}

我可以从内容页调用此方法吗?
目前,我在内容页中使用以下代码:
Master.DisplayMessage("Item has been inserted.");

我收到这个错误:
“system.web.ui.masterpage”不包含“displaymessage”的定义,并且找不到接受“system.web.ui.masterpage”类型的第一个参数的扩展方法“displaymessage”(是否缺少using指令或程序集引用?)
任何帮助都将不胜感激。

最佳答案

如其他人所示,您可以使用强制转换来获取母版页类型,也可以将MasterType指令添加到页面标记中(在顶部,标准<%@ Page %>指令是:

<%@ MasterType TypeName="YourNamespace.YourMasterPageType" %>

然后在页面代码中,您可以拥有示例中的内容:
Master.DisplayMessage("Item has been inserted.");

MasterType指令可从.NET 2以上获得。

09-25 17:28