这个问题之前可能已被问到,但不知怎的,我找不到更好的......
在我的Default.aspx上我有一个转发器,我用Databinder.Eval将数据放在上面。
但我接下来要做的是在点击图像后我想要一个响应输入(隐藏)中的值,这些是下一个图像。
这是我的代码:
<form id="form1" runat="server">
<div class="container-fluid">
<table class="table-hover" style="margin: 20px auto;">
<asp:Repeater ID="rpRow" runat="server">
<ItemTemplate>
<tr>
<td>
<img style="margin: 5px;" id="ImageBar" src="<%# DataBinder.Eval(Container.DataItem, "ImageBar")%>" onclick="<%= _imgPostBackCall %>;"/>
<input id="PromoID_<%# DataBinder.Eval(Container.DataItem, "PromoID")%>" type="hidden" name="PromoID" value="<%# DataBinder.Eval(Container.DataItem, "PromoID")%>" />
<input id="PromoCode_<%# DataBinder.Eval(Container.DataItem, "PromoCode")%>" type="hidden" name="PromoCode" value="<%# DataBinder.Eval(Container.DataItem, "PromoCode")%>" />
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</div>
</form>
代码背后:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
_imgPostBackCall = ClientScript.GetPostBackEventReference(Me, "")
If Not Me.IsPostBack Then
'DataTable
Dim dt_Data As DataTable = PromoDL.GetPromo()
'Table list
rpRow.DataSource = dt_Data
rpRow.DataBind()
dt_Data.Dispose()
Else
'Event Click
Dim PromoID As String = Request.Item("PromoID")
Dim PromoCode As String = Request.Item("PromoCode")
Response.Write("PromoID: " & PromoID & " PromoCode: " & PromoCode)
End If
End Sub
我得到的回应是这样的
促销ID:3,1 PromoCode:BFC40,BFCN20
(我的数据库中有2行),但我想要的是它看起来像这样
PromoID:3 PromoCode:BFC40
(对应于我点击的图像)
答案 0 :(得分:0)
没关系我让事情变得更加复杂。
我需要做的只是在转发器中加<a>
,如下所示:
<form id="form1" runat="server">
<div class="container-fluid">
<table class="table-hover" style="margin: 20px auto;">
<asp:Repeater ID="rpRow" runat="server">
<ItemTemplate>
<tr>
<td>
<a href="Promo.aspx?Code=<%# DataBinder.Eval(Container.DataItem, "PromoCode")%>">
<img style="margin: 5px;" id="<%# DataBinder.Eval(Container.DataItem, "PromoCode")%>" src="<%# DataBinder.Eval(Container.DataItem, "ImageBar")%>" />
</a>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</div>
</form>