c# - 为什么我的更新面板会生成数百个脚本 block ?

标签 c# javascript asp.net updatepanel

我有一个带有转发器的 asp.net web 表单。在这个转发器中有多个控件,我通过 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>

那里.. 它不会工作。更新面板外的页面控件丢失了它们的状态,在 Debug模式下,生成了数百个“脚本 block ”..

Screenshot VS

我的问题是我不太了解更新面板是如何处理内部 javascript 的。所以我需要更有经验的人的一些建议。我怎样才能使这个更新面板有效?数百个脚本 block 是什么?我需要使中继器与页面的其余部分更加“独立”..

提前致谢。

最佳答案

这些脚本 block 在这里是因为每个按钮都有一个脚本 block

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

这里不是更新面板的问题。

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

关于c# - 为什么我的更新面板会生成数百个脚本 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8397076/

相关文章:

c# - 将字符串转换为 Vector3

javascript - Web worker 文件被缓存并且永远不会在 IE 11 中重新加载

javascript - 根据 UTF-8 十六进制代码处理字符

c# - 如何防止在文本框上按 Enter 键时重定向到另一个 aspx 页面?

asp.net - Json.Net 如何将 null 反序列化为空字符串?

c# - 如何获取网站重定向目标网址(最终用户链接)

c# - Java 和 C# 中 "primitive"、 "value type"、 "struct"、 "class"、 "wrap"的定义

c# - 使用 Ninject 2 将参数传递给 WCF ServiceHost 类型

javascript - 限制 React Native TextInput 中的特殊字符

javascript - 动态更改 ASP.NET 页面上的值而不实际刷新它