ASP.NET/SQL查找元素ID并更新数据库

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,里面有一个像这样的层

<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