首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

在updatePanel外动态添加一些按钮,然后添加到tiger中,点击外部按钮的时候,点第一个正常,点第二个就刷新了整个页面,求赐教!解决思路

2012-04-06 
在updatePanel外动态添加一些按钮,然后添加到tiger中,点击外部按钮的时候,点第一个正常,点第二个就刷新了

在updatePanel外动态添加一些按钮,然后添加到tiger中,点击外部按钮的时候,点第一个正常,点第二个就刷新了整个页面,求赐教!!!
代码如下:后台

C# code
 /// <summary>        /// 绑定列头        /// </summary>        private void Initial()        {            AggregateAnalyse.BLL.EM_B_MT dal = new AggregateAnalyse.BLL.EM_B_MT();            DataTable dt = dal.GetBrName("84");            if (dt == null || dt.Rows.Count < 1)            { return; }            int index = 1;            int len = dt.Rows.Count;            foreach (DataRow dr in dt.Rows)            {                HtmlGenericControl div = new HtmlGenericControl("div");                div.ID = "mx" + index.ToString();                if (index == 1)                {                    div.Attributes.Add("class", "menu_true");                    this.hidFirstBrCode.Value = dr[0].ToString();                }                else                {                    div.Attributes.Add("class", "menu_false");                }                div.Attributes.Add("onclick", string.Format("SwitchAnything('mx','cx','menu_true','menu_false',{0},1,{1});", index, len));                LinkButton btn = new LinkButton();                btn.ID = "btnMtCode" + index.ToString();                btn.Text = dr[1].ToString();                btn.CssClass = "btnMenu";                btn.Attributes.Add("Font-Underline", "false");                btn.CommandName = dr[0].ToString();                btn.Click += new EventHandler(this.BtnBrCode_Click);                div.Controls.Add(btn);                divMenu.Controls.Add(div);                AsyncPostBackTrigger triger = new AsyncPostBackTrigger();                triger.ControlID = btn.ID;                triger.EventName = "Click";                UpdatePanel1.Triggers.Add(triger);                index++;            }        }



前台:
C# code
 <form id="form1" runat="server">    <asp:ScriptManager ID="ScriptManager1" runat="server">    </asp:ScriptManager>    <div class="menu_frame" id="divMenu" runat="server">    </div>    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">        <Triggers>        </Triggers>        <ContentTemplate>            <div id="cx1" runat="server" class="content_true" style="width: 99%; height: 100%;                overflow: auto;">                <asp:HiddenField ID="hidFirstBrCode" runat="server" />                <table width="100%" border="0" cellpadding="0" cellspacing="0">                    <tr>                        <td width="65%" valign="top" id="tdLeft" runat="server">                            <asp:GridView ID="gvData1" runat="server" AutoGenerateColumns="False" CellPadding="5"                                class="mGrid" Style="width: 80%; float: left; text-align: center;" OnRowDataBound="gvData1_RowDataBound">                                <Columns>                                    <asp:TemplateField HeaderText="序号" ShowHeader="False">                                        <ItemTemplate>                                            <%# Container.DataItemIndex + 1%>                                        </ItemTemplate>                                        <ItemStyle Width="10%" />                                    </asp:TemplateField>                                    <asp:BoundField DataField="P_CODE" SortExpression="P_CODE">                                        <ItemStyle CssClass="hidden" />                                        <HeaderStyle CssClass="hidden" />                                    </asp:BoundField>                                    <asp:TemplateField HeaderText="辅料大类">                                        <ItemTemplate>                                            <asp:Label ID="lblMtParentName" runat="server" Text='<%# Eval("P_NAME") %>'></asp:Label>                                        </ItemTemplate>                                        <ItemStyle Width="20%" />                                    </asp:TemplateField>                                    <asp:TemplateField HeaderText="辅料小类">                                        <ItemTemplate>                                            <asp:DropDownList ID="ddlMtDetail" runat="server" Width="80%">                                            </asp:DropDownList>                                        </ItemTemplate>                                        <ItemStyle Width="70%" />                                    </asp:TemplateField>                                    <asp:BoundField DataField="BR_CODE" SortExpression="BR_CODE">                                        <ItemStyle CssClass="hidden" />                                        <HeaderStyle CssClass="hidden" />                                    </asp:BoundField>                                </Columns>                            </asp:GridView>                        </td>                    </tr>                    <tr>                        <td width="75%">                            <asp:Button ID="btnSave" runat="server" Text="保存" OnClick="BtnSave_Click" />                            <asp:Button ID="btnCancle" runat="server" Text="取消" OnClick="BtnCancle_Click" />                        </td>                    </tr>                    <tr height="40px">                        <td>                        </td>                    </tr>                </table>            </div>        </ContentTemplate>    </asp:UpdatePanel>    </form> 



[解决办法]
<Triggers>
<asp:AsyncPostBackTrigger ControlID="lblast" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="lbnext" EventName="Click" />
</Triggers>

你的 
<Triggers>
....................
</Triggers>
[解决办法]
最好用ajax或者jQuery做,updatePanel控件貌似性能不怎么好

热点排行