我正在使用带有c#的asp.net 3.5。我想在转发器控件中调用按钮点击事件。
<asp:Repeater ID="rptFriendsList"
runat="server"
onitemcommand="rptFriendsList_ItemCommand">
<ItemTemplate>
<asp:ImageButton ID="btnSave"
runat="server"
ImageUrl="~/Contents/Images/save_button.png"
CommandName="Schedule"
UseSubmitBehavior="False" />
</ItemTemplate>
</asp:Repeater>
但是当我点击按钮时会发出错误
“无效的回发或回调 论点。事件验证已启用 用在 配置或&lt;%@ Page EnableEventValidation =“true”%&gt;在一个 页。为安全起见,这个 功能验证参数 回发或回调事件源自 从服务器控制那个 最初渲染它们。如果数据 是有效的和预期的,使用 ClientScriptManager.RegisterForEventValidation 注册方法 回发或回调数据 验证“。
我的目的是在按钮点击中执行一些代码,这些代码放在转发器内。请帮我解决这个问题。提前谢谢。
答案 0 :(得分:5)
UseSubmitBehavior =“False”您使用的此属性与图像按钮不存在,您是否已经覆盖了图像按钮类并添加了此属性。
答案 1 :(得分:2)
当您在OnLoad事件中为您的转发器分配数据源和数据时,也会发生这种情况,而不是OnInit
答案 2 :(得分:1)
你不能使用按钮,因为按钮会在点击时创建回发,而且还会调用转发器的itemcommand!
但是,如果你想使用asp:button而不是asp:linkbutton,你必须将button的UseSubmitBehavior属性设置为false。它的意思是,按钮不要回发。
<asp:Button ID="btnAccept" runat="server" Text="Accept All" CssClass="vb-default vb-green vb-txt-light" CommandName="Accept" CommandArgument='<%# Eval("UserID") %>' UseSubmitBehavior="false" />
答案 3 :(得分:1)
@Override
public void onAdLoaded() {
super.onAdLoaded();
bannerView.setVisibility(View.VISIBLE);
}
答案 4 :(得分:0)
我使用过这个波纹管代码并运行正常 在.aspx页面中使用此波纹管代码
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
<HeaderTemplate>
<table>
<tr>
<th>
Edit
</th>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table>
<tr>
<td align="center">
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Edit">Edit</asp:LinkButton>
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
在.cs中使用此功能使事件Repeater1_ItemCommand
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
switch (e.CommandName)
{
case "Edit":
// Do some stuff when the Edit button is clicked.
break;
// Other commands here.
default:
break;
}
}
答案 5 :(得分:-1)
设置页面EnableEventValidation =“false”。
答案 6 :(得分:-2)
如果您要添加项目服务器端,请尝试为每个ImageButton
分配唯一ID