为什么我的updatepanel会生成数百个脚本块?

时间:2011-12-06 08:29:15

标签: c# javascript asp.net updatepanel

我有一个带有转发器的asp.net网络表单。在这个转发器中是多个控件,我用ItemCreated事件影响这些控件的javascript函数。我用这种代码做了这个:

btnBareme.OnClientClick = string.Format("ChangeBareme('{0}','{1}',this); return false", item.Num_dossier, item.IdDemande);

javascript函数“changeBareme()”在页面标题中定义。它工作正常,但我需要独立于页面的其他元素更新转发器。

所以我用asp:UpdatePanel包围转发器。像这样:

<asp:UpdatePanel ID="UpdatePnl2" runat="server" UpdateMode="Conditional">
        <ContentTemplate>
            <div>
              <h1>Foo</h1>                                    
            </div>

            <div>
            <asp:Repeater runat="server" ID="rptFoo" OnItemCreated="rptFoo_ItemCreated" OnItemCommand="rpt_ItemCommand">
                <HeaderTemplate>
                    <table id="TabRep"  class="DataRepeater">
                        <thead>
                            <tr>                                    
                                <th></th>                                     
                            </tr>                                
                        </thead>
                        <tbody>
                </HeaderTemplate>
                <ItemTemplate>
                    <tr>
                       SomeContent Here with controls
                    </tr>                        
                </ItemTemplate>
                <FooterTemplate>
                </tbody>
                   </table>                                                     
                </FooterTemplate>                       
            </asp:Repeater> 
            <br/>                               
            </div>                                             
        </ContentTemplate>        
    </asp:UpdatePanel>

那里......它不起作用。 updatepanel之外的页面控件丢失了它们的状态,在调试模式下,生成了数百个“脚本块”。

Screenshot VS

我的问题是我真的不太了解updatepanels如何使用javascript进行处理。所以我需要一些经验丰富的人提供的建议。如何使此更新面板生效?有几百个脚本块是什么?我需要让转发器与页面的其他部分更加“独立”..

提前致谢。

1 个答案:

答案 0 :(得分:2)

这些脚本块在这里是因为你有每个按钮的脚本块

<input type="button" onclick="changebareme.."/>

这里不是更新面板故障。

更好的方法是为每个按钮添加一个通用的css类。然后使用javascript选择所有按钮,并观察所有按钮上的点击事件。