ASP.NET/SQL查找元素ID并更新数据库
基本上,我有一个更新查询,当你点击提交按钮时运行 我的页面中有一个asp:Repeater,里面有一个像这样的层ASP.NET/SQL查找元素ID并更新数据库,asp.net,sql,Asp.net,Sql,基本上,我有一个更新查询,当你点击提交按钮时运行 我的页面中有一个asp:Repeater,里面有一个像这样的层 <asp:Repeater id="dgBookings" runat="server" OnItemDataBound="ItemDB"> <itemtemplate> <div class="bookingscontent"> <div class="bookingdetails" id="<
<asp:Repeater id="dgBookings" runat="server" OnItemDataBound="ItemDB">
<itemtemplate>
<div class="bookingscontent">
<div class="bookingdetails" id="<%# DataBinder.Eval(Container.DataItem, "booking_ref") %>">
<p class="infotext"><%# DataBinder.Eval(Container.DataItem, "adults") %> <asp:LinkButton OnClick="EditDetails" Text="Edit..." runat="server"></asp:LinkButton></p>
<p class="infotext"><asp:LinkButton OnClick="SubmitDetails" Text="Submit..." runat="server"></asp:LinkButton></p>
</div>
</div>
</itemtemplate>
<asp:Repeater>
<div class="bookingscontent">
<div class="bookingdetails" id="AL05720">
<p class="infotext">2</p>
<p class="infotext"> <a href="javascript:__doPostBack('dgBookings$ctl00$ctl08','')">Submit...</a></span> <a class="EditAdults" href="#" onclick="return false">Edit...</a></p>
</div>
</div>
<div class="bookingscontent">
<div class="bookingdetails" id="BD45670">
<p class="infotext">4</p>
<p class="infotext"> <a href="javascript:__doPostBack('dgBookings$ctl00$ctl08','')">Submit...</a></span> <a class="EditAdults" href="#" onclick="return false">Edit...</a></p>
</div>
</div>
谢谢你到目前为止的帮助
Jamie修改中继器如下:
<asp:Repeater id="dgBookings" runat="server" OnItemDataBound="ItemDB" OnItemCommand="ItemCommand">
<itemtemplate>
<div class="bookingscontent">
<div class="bookingdetails" id="<%# DataBinder.Eval(Container.DataItem, "booking_ref") %>">
<p class="infotext"><%# DataBinder.Eval(Container.DataItem, "adults") %> <asp:LinkButton OnClick="EditDetails" Text="Edit..." runat="server"></asp:LinkButton></p>
<p class="infotext"><asp:LinkButton OnClick="SubmitDetails" Text="Submit..." runat="server" CommandName="SubmitDetails" CommandArgument="<%# DataBinder.Eval(Container.DataItem, "booking_ref") %>"></asp:LinkButton></p>
</div>
</div>
</itemtemplate>
<asp:Repeater>
按如下方式修改中继器:
<asp:Repeater id="dgBookings" runat="server" OnItemDataBound="ItemDB" OnItemCommand="ItemCommand">
<itemtemplate>
<div class="bookingscontent">
<div class="bookingdetails" id="<%# DataBinder.Eval(Container.DataItem, "booking_ref") %>">
<p class="infotext"><%# DataBinder.Eval(Container.DataItem, "adults") %> <asp:LinkButton OnClick="EditDetails" Text="Edit..." runat="server"></asp:LinkButton></p>
<p class="infotext"><asp:LinkButton OnClick="SubmitDetails" Text="Submit..." runat="server" CommandName="SubmitDetails" CommandArgument="<%# DataBinder.Eval(Container.DataItem, "booking_ref") %>"></asp:LinkButton></p>
</div>
</div>
</itemtemplate>
<asp:Repeater>
使用所需的ID将CommandName和CommandArgument属性添加到链接按钮中。在本例中,CoimmandArgument将与div的ID相同,CommandName将被编辑。然后,您可以通过调用属性e.CommandArgument来访问Item_命令事件中的ID。只需确保首先检查e.CommandName是否用于所需的按钮,而不是像Add按钮那样的按钮。在本例中,使用所需的ID将CommandName和CommandArgument属性添加到链接按钮中,CoimmandArgument将与div的ID相同,CommandName将被编辑。然后,您可以通过调用属性e.commandargument来访问Item_命令事件中的ID。只需确保首先检查e.CommandName是否用于所需的按钮,而不是像Add按钮那样的按钮。我已经添加了CommandArgument,但如何在中添加Item_命令?我已经更新了我上面的问题-感谢到目前为止的帮助查看我修改后的答案基本上,将OnItemCommand添加到repeater并将其指向代码文件中的方法。在中添加了这一点,但是我如何使strPassedText成为命令参数的值?谢谢,这非常棒,非常有用!感谢您的帮助我已经添加了CommandArgument,但是如何在中添加Item_命令呢?我已经更新了我上面的问题-感谢到目前为止的帮助查看我修改后的答案基本上,将OnItemCommand添加到repeater并将其指向代码文件中的方法。在中添加了这一点,但是我如何使strPassedText成为命令参数的值?谢谢,这非常棒,非常有用!谢谢你的帮助
Sub SubmitDetails(ByVal Sender as Object, ByVal e as RepeaterCommandEventArgs)
Dim strPassedText = e.CommandArgument
Dim LogData2 As sterm.markdata = New sterm.markdata()
Dim queryUpdate as String = ("UPDATE OPENQUERY (dev,'SELECT * FROM web_data WHERE booking_ref = ''"+ strPassedText +"'' ') SET children = '1' ")
Dim drSetUpdate As DataSet = LogData2.StermQ2(queryUpdate)
Session("BookRefID") = strPassedText
LoadData()
End Sub