更新面板触发器

时间:2009-09-03 19:43:10

标签: asp.net updatepanel

处理包含多个部分的页面。

在最顶部有一个“状态”标签。

下面是添加新数据的部分... 下面是一个更新数据的部分...... 下面是删除数据的部分...... 和... 下面是查看数据的部分......(转发器)

此时甚至没有真正关注更新和删除部分...只是声明它们在那里,所以显示页面的总体布局。

现在..当我去添加新数据时,提交按钮被设置为围绕页面底部的转发器的更新面板的触发器......完美地运行...但是它不能移除文本框中的文本或更新状态标签,因为页面只是部分回发...(显然)

当你点击按钮时,我也想要显示标签(“你添加了数据”)和要清空的文本框...... SOOO ......我想我会很棘手并且放置一个更新面板状态和添加和设置他们的触发器到同一个按钮...似乎没有工作: - \我通常不打扰更新面板...但这个页面有可能有很多文本数据和格式..

任何想法?

2 个答案:

答案 0 :(得分:3)

弄清楚了。

<asp:updatepanel id="updatepanel1" runat="server">
     <contenttemplate>
          <asp:label id="lblstatus" runat="server /> <br />
     </contenttemplate>
     <triggers>
          <asp:asyncpostbacktrigger controlid="btnaddkey" eventname="Click" />
     </triggers>
</asp:updatepanel>

<asp:updatepanel id="updatepanel2" runat="server">
     <contenttemplate>
          <asp:textbox id="tbxkeyname" runat="server />      
          <asp:textbox id="tbxkeytitle" runat="server />      
          <asp:textbox id="tbxkeyvalue" runat="server />      

     </contenttemplate>
     <triggers>
          <asp:asyncpostbacktrigger controlid="btnaddkey" eventname="Click" />
     </triggers>
</asp:updatepanel>

<asp:button id="btnaddkey" runat="server" text="submit" OnClick="btnAddKey_Click" />

<asp:updatepanel id="updatepanel3" runat="server">
     <contenttemplate>
          <asp:repeater id="rptkeyview" runat="server">
               ...
          </asp:repeater>         
     </contenttemplate>
     <triggers>
          <asp:asyncpostbacktrigger controlid="btnaddkey" eventname="Click" />
     </triggers>
</asp:updatepanel>

以上是页面的基本布局....请记住,每个更新面板之间还有其他内容......(我还需要添加编辑和删除功能) 使用btnaddkey单击以下代码:

protected void btnAddKey_Click(object sender, EventArgs e)
    {
        Configuration toConfiguration = new Configuration();
        toConfiguration.Title = tbxKeyTitle.Text;
        toConfiguration.Name = tbxKeyName.Text;
        toConfiguration.Value = tbxKeyValue.Text;
        toConfiguration.AddKey();
        lblStatus.Text = "New Key Added.";
        BindKeys();
        tbxKeyName.Text = "";
        tbxKeyTitle.Text = "";
        tbxKeyValue.Text = "";
    }

问题是我需要标签和文本框(每个都在自己的更新面板中)才能在一次点击时更新....

使用上面的代码现在正在使用

答案 1 :(得分:0)

您是说在同一页面上想要多个更新面板?

如果有,请参阅this