我有一个包含listview的updatepanel。此面板以10秒的间隔刷新,listview源更新并重新加入。我的列表视图有一些图像按钮,这就是问题所在。当我单击任何listview按钮时,出现错误:
“无效的回发或回调参数。”错误。
我正在尝试在我的文件中看到的所有内容,不,我不会将验证设置为false。
这是我列表的简化模板。
<asp:UpdatePanel runat="server" ID="pnlRegistro" ClientIDMode="Static" OnLoad="pnlRegistro_Load">
<ContentTemplate>
<asp:ListView runat="server" ID="lvRegistro" OnPreRender="lvRegistro_PreRender" >
<LayoutTemplate>
<!-- Unread notification count -->
<span runat="server" id="spanRegistroCount" class="mws-dropdown-notif">
<asp:Label ID="lblRegistroCount" runat="server" Text="0"></asp:Label>
</span>
</LayoutTemplate>
<ItemTemplate>
<li class="<%# Convert.ToInt32(Eval("RegistroHorarioId"))==0?"read":"unread"%>">
<a>
<div style="width: 80%; float: left;">
<span class="message" <%#Eval("SpanColor")%>>
<%#Eval("Status")%>
</span>
</div>
<div style="float: right">
<asp:ImageButton runat="server" ID="btnRegistro" OnClick="btnRegistro_Click"/>
</div>
</a>
</li>
</ItemTemplate>
</asp:ListView>
</ContentTemplate>
</asp:UpdatePanel>
我该怎么做才能解决此错误并触发“btnRegistro_Click”事件?
答案 0 :(得分:0)
更新面板用于更新部分页面而不是完整回发。
因此,您必须添加 PostBackTrigger 同步或异步,因为您正在使用更新面板,并且在触发器中定义更新面板事件以避免完全回发,因此很可能您需要asnc postback触发。
在内容模板结束标记(</ContentTemplate>
)之后为按钮事件添加触发器:
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnRegistro" EventName="Click" />
</Triggers>
</asp:UpdatePanel>