同一个.aspx页面中2个.ascx的互相调用问题
各位大侠好,我是个刚学习的小菜鸟,这里有个问题,还望大家拔刀相助不吝赐教。在a.aspx页面中用 <%@ Register Src="Controls/b.ascx" TagName="b" TagPrefix="uc1" %> 包含了b.ascx和c.ascx 这两个同级别controls。在c.ascx中有按钮cBtn,b.ascx中有按钮bBtn和Label型控件bLabel(初始值bOld)。
cBtn中的后台代码用FindControl的方法成功对bLabel的值进行了修改(bNew),但是页面上bLabel的值还是原来的bOld,没有即时更新为bNew。需要点击bBtn按钮刷新b.ascx页面后,bLabel的值才会更新。
请问:如何让cBtn修改后的bLabel值即时更新?或者有什么办法让cBtn去刷新b.ascx页面(或者调用bBtn去刷新b.ascx)? --------------------编程问答-------------------- IsPostBack 问题 --------------------编程问答--------------------
有什么办法让cBtn去刷新b.ascx页面(或者调用bBtn去刷新b.ascx)? --------------------编程问答-------------------- 直接PostBackUrl="XXX.aspx"到那个页面 --------------------编程问答-------------------- 看了你的描述,我原以为与页面生存周期有关
于是特意测试了一下,不过也没发现你这样的问题啊?
不知道你页面代码是怎么写的?
我的如下
public partial class UCA : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
BtnTesta.Click += new EventHandler(BtnTesta_Click);
}
void BtnTesta_Click(object sender, EventArgs e)
{
Control ct = Page.FindControl("UCB1").FindControl("LabTestb");
if (ct != null)
{
Label lab = ct as Label;
lab.Text = "cta change";
}
else
{
Response.Write("not find ucb1->labtestb");
}
}
}
}
即使吧更改语句放在pageLoad事件中,也不会有问题
还有我特意改变了一下 UCA,UCB在页面中的顺序,同样没问题啊。?
你的代码能否贴出来一看。 --------------------编程问答-------------------- 不知道你如何组织程序流程。你写一个简化版的demo出来,复现你的问题。 --------------------编程问答--------------------
我现在就是不想刷新。aspx页面。
补充:.NET技术 , C#