Вы должны использовать ClientScriptManager.RegisterClientScriptBlock для добавления сценариев на страницу вместо литеральных элементов управления со значениями 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");
}
Основное преимущество заключается в том, что детали сценария абстрагированы, и вы можете легко вносить в них глобальные изменения (например, переключаясь на оповещение в стиле Growl), не внося много правок страницы.