标签文本不显示Page_Load之外

本文关键字:Load 之外 Page 显示 文本 标签 | 更新日期: 2023-09-27 17:50:44

我有一个网格,在网格的顶部,我喜欢显示一个标签:

    <asp:Label ID="lblMsg" runat="server" ForeColor="Red"></asp:Label>

在我的网格中删除一行,我有以下代码:

    protected void RadGrid1_DeleteCommand(object sender, GridCommandEventArgs e)
    {
        if (!(User.IsInRole("Administrator")))
        {
           lblMsg.Text = "Must be an Admin in delete.";
           return;
        } 

注意:调试器确实去我有标签文本显示的地方,但它根本不显示在页面上。:

     lblMsg.Text = "Must be an Admin in delete.";

注意:如果我在页面加载相同的代码,标签文本显示在页面上也不要有(!IsPostBack){}在我的代码。

标签文本不显示Page_Load之外

这就是你的问题所在。当你的页面返回标签被分配值:

 lblMsg.Text = "Must be an Admin in delete.";

但是Page_Load再次被调用。所以你的Page_Load应该是这样的

protected void Page_Load(object sender, EventArgs e) {
  if(!IsPostBack) {
     //Populate my page
  }
}

这几乎适用于你用ASP写的每一个页面。净