C# 将转发器项添加到列表框
我有一个转发器,其中包含Eval命令和一个按钮(我无法访问),我想访问此按钮,单击后将其中一个Eval命令(如汽车型号)插入到同一页面上的列表框中C# 将转发器项添加到列表框,c#,asp.net,listbox,repeater,C#,Asp.net,Listbox,Repeater,我有一个转发器,其中包含Eval命令和一个按钮(我无法访问),我想访问此按钮,单击后将其中一个Eval命令(如汽车型号)插入到同一页面上的列表框中 <asp:Button ID="modelButton" CommandArgument='<%# Eval("Model") %>' Text='<%# "Add Model to List:" + Eval("Model") %>' runat="server" /> <asp:Repeater
<asp:Button ID="modelButton" CommandArgument='<%# Eval("Model") %>' Text='<%# "Add Model to List:" + Eval("Model") %>' runat="server" />
<asp:Repeater ID="Repeater2" runat="server" DataSourceID="AccessDataSource1" DataMember="DefaultView" OnItemDataBound="Repeater2_ItemDataBound">
<ItemTemplate>
<div>
<p><img src="carImages/<%#Eval("Artwork")%>" /></div>
<div class="col-xs-4">
<h4><%# Eval("Make")%> (<%# Eval("Year") %>)</h4>
<p><%# Eval("Model")%></p>
<p><%# Eval("Colour")%></p>
<p><%# Eval("Type")%></p>
<div>
<asp:Button ID="modelButton" CommandArgument='<%# Eval("Model") %>' Text='<%# "Add Model to List:" + Eval("Model") %>' runat="server" />
</div>
</a>
</div>
</ItemTemplate>
“/>
()
只需将oncommand参数添加到重复按钮中即可
<asp:Button ID="modelButton" CommandArgument='<%# Eval("Model") %>' OnCommand="CommandBtn_Click" Text='<%# "Add Model to List:" + Eval("Model") %>' runat="server" />
这将获得评估模型您不能访问该按钮是什么意思?因为它在中继器内,我无法访问它。我不确定如何访问它。您是否绑定中继器并且可以单击按钮本身?中继器绑定到AccessDataSource。我可以单击按钮是,但不能在中继器中创建按钮单击事件处理程序作为其内部处理程序。它现在显示以下错误:回发或回调参数无效。在配置或页面中使用启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现的服务器控件如果数据有效且符合要求,请使用ClientScriptManager.RegisterForEventValidation方法注册回发或回调数据以进行验证。通过评估传递的是什么?只是字符串,如上面的(“Model”)、(“Year”)、(“Make”)等。中继器连接到具有SelectCommand=”的AccessDataSource从[Cars]中选择*检查此项:在按钮加载时将其应用于您的按钮。
void CommandBtn_Click(Object sender, CommandEventArgs e){
var command = e.CommandArgument;
// Do whatever with it here
}