我可以从内容页面更新母版页的更新面板。
假设我在masterpage中有一个updatepanel,如下所示..
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</ContentTemplate>
</asp:UpdatePanel>
我可以从内容页面更改Literal1的文字吗?
如果是这样 - 怎么样?
任何帮助表示赞赏!
答案 0 :(得分:5)
或者,您可以以编程方式将发件人作为AsyncPostBackTrigger添加到UpdatePanel。
UpdatePanel panel = (UpdatePanel)Master.FindControl("UpdatePanel1");
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = ((Control)sender).ID;
panel.Triggers.Add(trigger);
panel.DataBind();
Literal literal = Master.FindControl("Literal1") as Literal;
literal.Text = "some text";
答案 1 :(得分:0)
您可以通过以下代码从主页面中找到任何控件:
Literal literal = (Literal)Master.FindControl("Literal1");
然后您应该能够更新该文字的内容。
答案 2 :(得分:0)
确保将Literal
放在母版页上。 Button
内的内容页面上的UpdatePanel
。在Button
的点击处理程序中,您可以更新母版页上的Literal
控件
Literal literal1 = (Literal)Master.FindControl("Literal1");
答案 3 :(得分:0)
感谢
ÖzgürKaplan
,我已经制作了自己的解决方案:
我不得不用jQuery.dialog生成一条警告消息,我已经放置了一个带有空asp:标签的UpdatePanel(UpdateMode =“Conditional”)。
在Master.cs中我放置了这个公共功能:
public void WarningUpdate(string childControlID, string eventName, string warningMessage)
{
lblWarningMessage.Text = warningMessage;
var trigger = new AsyncPostBackTrigger {ControlID = childControlID, EventName = eventName};
upWarningMessage.Triggers.Add(trigger);
upWarningMessage.DataBind();
upWarningMessage.Update();
}
在页面中,在某些情况下(单击一个......)我已经放置了这段代码:
var master = (FM) Master;
if (master != null) master.WarningUpdate(((Control)sender).ID, "Click", "Devi prima selezionare una Provincia!");
结果是: