这是我的屏幕:
以下是Repeater中ItemTemplate的代码:
<ItemTemplate>
<div style="float: left; overflow: hidden; display: inline-block; border-style: solid; margin: 5px; background-color: Silver">
<div style="text-align:center">
<asp:Label ID="lblImage" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "image") %>'></asp:Label>
</div>
<asp:Image runat="server" ID="image1" Width="250px" Height="250px" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "url") %>' />
<div style="text-align: center;">
<asp:Button runat="server" ID="btnNew" Text="New" />
<asp:Button runat="server" ID="btnOriginal" Text="Original" />
</div>
</div>
Repeater使用程序中的数据集来填充ItemTemplate的标签和图像控件。我的数据集中有另一个名为graphicID
的字段。我想以某种方式将该字段中的值传递给“原始”按钮,这样,如果用户按下该按钮,则会将特定的graphicID
传递给click事件。这有意义吗?
例如,第二张图片是哈洛克船长。此图片的graphicID
为93
。如果用户按下Harlock上尉的原始按钮,我想将93
传递给onClick
事件。不过,我不知道怎么做。如果有人能指出我正确的方向,我会非常感激!
答案 0 :(得分:4)
<div style="text-align: center;">
<asp:Button runat="server" ID="btnNew" Text="New" />
<asp:Button runat="server" CommandName="cmd_original" CommandArgument="name of field which you want to access" ID="btnOriginal" Text="Original" />
</div>
修改强>
在转发器控制中
您必须添加如下事件:
onitemcommand="Repeater1_ItemCommand"
代码
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "cmd_original")
{
Int32 id = Convert.ToInt32(e.CommandArgument);
}
}