gpt4 book ai didi

c# - 页面回发后加载用户控制数据?

转载 作者:太空宇宙 更新时间:2023-11-03 11:16:24 25 4
gpt4 key购买 nike

我有一个页面,用户可以在其中更新他们的用户信息(比如他们的名字)。我在这个页面上还有一个用户控件,它显示了很多信息,包括用户的名字。

我遇到的问题是,当我更改此页面上的名字时,用户控件在我保存数据后没有更新。

这是我的前端:

<UC:LeftNav ID="leftNav" runat="server" />

<asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>

<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click" />

我的按钮点击事件保存用户信息:

protected void btnSave_Click(object sender, EventArgs e)
{
...
user.FirstName = txtFirstName.Text();
user.Save();
...
}

显示用户信息的我的用户控件:

protected void Page_Load(object sender, EventArgs e)
{
...
lblFirstName.Text = user.Firstname;
...
}

我检查了调试器,发现页面上的 btnSave_Click 事件发生在用户控件的 Page_Load 事件之后

有没有办法让 btnSave_Click 事件在我将用户数据加载到我的用户控件之前发生?

最佳答案

不,事件发生时无法更改。但是您可以将您的用户加载代码放入 Bind 方法中,并从您的 btnSave_Click 方法中调用它。

leftNav 用户控件中:

public void Page_Load(object sender, EventArgs e)
{
if(!IsPostback)
{
BindUserInfo();
}
}

public void BindUserInfo()
{
//Binding code here
}

在页面上:

public void btnSave_Click(object sender, EventArgs e)
{
//Do save work
leftNav.BindUserInfo();
}

关于c# - 页面回发后加载用户控制数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12536193/

25 4 0