【发布时间】:2011-12-06 08:29:15
【问题描述】:
我有一个带有中继器的 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>
那里.. 它不会工作。更新面板外的页面控件失去了状态,在调试模式下,生成了数百个“脚本块”..
我的问题是我不太了解 updatepanels 如何处理内部的 javascript。所以我需要一些更有经验的人的建议。如何使此更新面板有效?数百个脚本块是什么?我需要使中继器与页面的其余部分更加“独立”..
提前致谢。
【问题讨论】:
-
“更新面板外的页面控件失去了它们的状态”是什么意思?你能说得更具体点吗?
-
如果您希望您的应用程序是“独立的”,请摆脱 asp.net 控件并使用/编写自己的代码。我喜欢没有很多视图状态数据行的 .net 页面...
-
@Shadow 向导;在页面中(中继器之外)是一些复选框控件。更新更新面板后,所有复选框都未选中..
-
如何准确地“更新”UpdatePanel?
-
@Shadow 向导;在转发器中是一个将转发器与另一个数据源重新绑定的控件。它是一个 ImageButton 进行 postBack。如果我做了一个 rptFoo.databind()
标签: c# javascript asp.net updatepanel