C# 母版页中的Messagebox

C# 母版页中的Messagebox,c#,asp.net,master-pages,C#,Asp.net,Master Pages,如何从ASP.net(C#)母版页本身显示messagebox。我的意思是,当点击母版页上的链接按钮时,将显示一个消息框。我尝试调用以下方法,但没有结果 public void MessageBox(string message, Page page) { if (!string.IsNullOrEmpty(message)) { Label lbl = new Label(); lbl.Text = "<script type=\"tex

如何从ASP.net(C#)母版页本身显示messagebox。我的意思是,当点击母版页上的链接按钮时,将显示一个消息框。我尝试调用以下方法,但没有结果

public void MessageBox(string message, Page  page)
{
    if (!string.IsNullOrEmpty(message))
    {
        Label lbl = new Label();
        lbl.Text = "<script type=\"text/javascript\" language=\"javascript\">" 
                   + "alert('" + message + "'); " + "</script>";
        page.Controls.Add(lbl);
    }
}
公共无效消息框(字符串消息,第页)
{
如果(!string.IsNullOrEmpty(消息))
{
标签lbl=新标签();
lbl.Text=“”
+警报(“+”消息+“);“+”;
页面控件添加(lbl);
}
}

我只是把你的代码放到一个页面上,它工作起来没有问题。它不是母版页,但我看不出为什么它在母版页中也不起作用。以下是对我有用的代码:

页面中的链接按钮:

        <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">LinkButton</asp:LinkButton>
链接按钮
背后的代码:

        public void MessageBox(string message, Page page)
    {
        if (!string.IsNullOrEmpty(message))
        {
            Label lbl = new Label();
            lbl.Text = "<script type=\"text/javascript\" language=\"javascript\">" + "alert('" + message + "'); " + "</script>";
            page.Controls.Add(lbl);
        }
    }

    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        MessageBox("test", Page);
    } 
公共无效消息框(字符串消息,第页)
{
如果(!string.IsNullOrEmpty(消息))
{
标签lbl=新标签();
lbl.Text=“+”警报(“+”消息+”);“+”;
页面控件添加(lbl);
}
}
受保护的无效链接按钮1\u单击(对象发送者,事件参数e)
{
消息框(“测试”,第页);
} 
链接按钮中注册,然后在回发之前显示警报,或者在回发期间在
单击事件处理程序中注册警报脚本,以便在下次将页面呈现给客户端时立即显示警报:

protected void Page_Load(object sender, System.EventArgs e)
{
    MyButton.OnClientClick = "alert('MyButton clicked!');";
}

protected void MyButton_Click(object sender, System.EventArgs e)
{
    Page.ClientScript.RegisterStartupScript(this.GetType(), "AlertScript", "alert('MyButton clicked!');", true);
}
您应该使用来向页面添加脚本,而不是使用javascript值的文本控件

我建议为母版页创建一个基类,例如:

public sealed class MasterPageBase : MasterPage
{
    protected void AddAlertMessage(string Message)
    {
        var script = String.Format("alert('{0}');", Message);
        this.Page.ClientScript
            .RegisterStartupScript(this.GetType(),"PageAlertMessage",script,true);
    }

}
现在,将此设置为母版页的基础,您可以调用:

protected void LinkButton1_Click(object sender, EventArgs e)
{
    this.AddAlertMessage("Hello");
}

主要的好处是脚本细节被抽象出来,您可以轻松地对它们进行全局更改(例如切换到咆哮式警报),而无需进行许多页面编辑。

在母版页的页面加载上编写以下代码

lnkButton.Attributes.Add("onclick","alert('message');");

下面的代码适用于我

linkbutton1.OnClientClick ="javascript:alert('Hello')" 

您需要将其附加到单击linkbutton上,为什么需要标签
linkbutton1.OnClientClick=“javascript:alert…”