简体   繁体   English

如何在列表视图中取消插入以下方法 asp.net vb

[英]How to cancel insert in listview following method asp.net vb

I am stumped by being unable to cancel a list view insert operation following a method to validate a string.我很困惑无法在验证字符串的方法之后取消列表视图插入操作。 While the method validates the string and shows a modal popup when the string is not valid, then I want to stop the insert using e.cancel in listviewinserteventargs, however the cancel operation did not occur.虽然该方法验证字符串并在字符串无效时显示模式弹出窗口,但我想在 listviewinserteventargs 中使用 e.cancel 停止插入,但是取消操作没有发生。 Any help is appreciated!!!任何帮助表示赞赏!

Imports System.Data
'Imports System.Data.SqlClient

Public Class SecureOrderHCTPScan
    Inherits System.Web.UI.Page

    Public iPreLoadIndex As Integer
    'Public pageContent As String = "<!-- #include file=""content/home/home.txt"" -->"

    Dim currentOrderID As Int32 'for current order number
    Dim entryNum As Int32 ' holds sample entry number


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        gotoDefaultHome.HRef = "TestOrderDefault.aspx"
        gotoDefaultHome.Title = ""

        iPreLoadIndex = CInt(Request.QueryString("titrateIdx"))

        'creates new order object
        Dim orderTicket = New orderNumbers

        'checks to see if an order # has been issued and if so, does not create a new order
        If (Me.IsPostBack) Then

        Else
            ViewState("currentOrderID") = orderTicket.createNewOrder("BSIRG6789")
        End If
        currentOrderID = ViewState("currentOrderID")
        orderNumLbl.Text = currentOrderID
        Session("orderNum") = currentOrderID

        'Verify Date in tbxColDate as being no more than than 7 days old and not in the future
        Dim currentDate As Date = DateTime.Now()
        Dim tubeDumpDate As Date = DateTime.Now.AddDays(-7)

        'set maximum and minimum dates for date validation, date is time specimens are kept
        'in lab
        tbxCollDate_Validator.MaximumValue = currentDate.ToString("MM/dd/yy")
        tbxCollDate_Validator.MinimumValue = tubeDumpDate.ToString("MM/dd/yy")

        'The number of tubes scanned in this session
        'create new entry number generator object
        Dim entryNum = New entryNumber
        Session("EntryNum") = entryNum.createNextEntryNum(currentOrderID)

        'Exit Sub
        'homeContent.Text = "<!-- #include file=""content/home/home.txt"" -->"
        'Response.Write("about page...<br />")
        'Response.Write(Request.Form("contentIdx") & "....<br />")
        'Response.Write(contentIdxSS.Value)

    End Sub


    Sub insert(ByVal sender As Object, ByVal e As ListViewInsertEventArgs)

        Dim tb = New TextBox
        Dim donorNumString As String
        Dim barcodeValidFlg As Boolean = True

        'gets donor number from listview control
        tb = ListView1.InsertItem.FindControl("donorNumTextBox")

        donorNumString = tb.Text

        'tb.Text = donorNumString.ToLower

        Dim validBarcode = New BETAbarcodeValidator(donorNumString)

        validBarcode.validate(donorNumString)
        barcodeValidFlg = validBarcode.BarcodeValid

        If (barcodeValidFlg = False) Then
            e.Cancel = True
            Button3_ModalPopupExtender.Show()

        End If
    End Sub


    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

    End Sub



        <asp:ListView ID="ListView1" runat="server" 
            DataKeyNames="donorNum" 
            DataSourceID="SqlDataSource1" 
            InsertItemPosition="FirstItem" 
            EnableModelValidation="True">

            <AlternatingItemTemplate>
                <tr style="background-color: #FFFFFF;color: #284775;">
                    <td>
                        <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" CausesValidation="False" 
                            Text="Delete" />
                    </td>
                    <td class="testSelection">
                        <asp:Label ID="entryNumLabel" runat="server" Text='<%# Eval("entryNum") %>' />
                    </td>
                    <td class="donorNumberTbxEntryCell">
                        <asp:Label ID="donorNumLabel" runat="server"
                            Text='<%# Eval("donorNum") %>' />
                    </td>

                    <td class="testSelection">
                        <asp:CheckBox ID="CHGCheckBox" runat="server" Checked='<%# Eval("CHG") %>' 
                            Enabled="false" />
                    </td>
                    <td class="testSelection">
                        <asp:CheckBox ID="CMVCheckBox" runat="server" Checked='<%# Eval("CMV") %>' 
                            Enabled="false" />
                    </td>
                    <td class="testSelection">
                        <asp:CheckBox ID="devHCTPCheckBox" runat="server" 
                            Checked="true" Enabled="false" />
                    </td>
                </tr>
            </AlternatingItemTemplate>
            <EditItemTemplate>
                <tr style="background-color: #999999;">
                    <td>
                        <asp:Button ID="UpdateButton" runat="server" CommandName="Update" 
                            Text="Update" />
                        <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
                            Text="Cancel" />
                    </td>
                    <td>
                        <asp:TextBox ID="entryNumTextBox" runat="server" 
                            Text='<%# Bind("entryNum") %>' />
                    </td>


                    <td class="donorNumberTbxEntryCell">
                        <asp:Label ID="donorNumLabel1" runat="server" Text='<%# Eval("donorNum") %>' />
                    </td>

                    <td class="testSelection">
                        <asp:CheckBox ID="CHGCheckBox" runat="server" Checked='<%# Bind("CHG") %>' />
                    </td>
                    <td class="testSelection">
                        <asp:CheckBox ID="CMVCheckBox" runat="server" Checked='<%# Bind("CMV") %>' />
                    </td>
                    <td class="testSelection">
                        <asp:CheckBox ID="devHCTPCheckBox" runat="server" 
                            Checked="true" />
                    </td>
                </tr>
            </EditItemTemplate>
            <EmptyDataTemplate>
                <table runat="server" 
                    style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;">
                    <tr>
                        <td>
                            No data was returned.</td>
                    </tr>
                </table>
            </EmptyDataTemplate>
            <InsertItemTemplate>
                <tr style="">
                    <td>
                        <asp:Button ID="InsertButton" runat="server" CommandName="Insert" 
                            Text="Save" />
                        <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" 
                            Text="Clear" />
                    </td>
                    <td class="testSelection">
                        <asp:label ID="entryNumTextBox" runat="server" 
                            Text='<%# Bind("entryNum") %>' />
                    </td>
                    <td class="donorNumberTbxEntryCell">
                        <asp:TextBox ID="donorNumTextBox" class="donorNumTbxEntry" runat="server" 
                            Text='<%# Bind("donorNum") %>' />
                    </td>

                    <td class="testSelection">
                        <asp:CheckBox ID="CHGCheckBox" runat="server" Checked='<%# Bind("CHG") %>' />
                    </td>
                    <td class="testSelection">
                        <asp:CheckBox ID="CMVCheckBox" runat="server" Checked='<%# Bind("CMV") %>' />
                    </td>
                    <td class="testSelection">
                        <asp:CheckBox ID="devHCTPCheckBox" runat="server" 
                            Checked="true" />
                    </td>
                </tr>
            </InsertItemTemplate>
            <ItemTemplate>
                <tr style="background-color: #E0FFFF;color: #333333;">
                    <td>
                        <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" CausesValidation="False"  
                            Text="Delete" />
                    </td>
                    <td class="testSelection">
                        <asp:Label ID="entryNumLabel" runat="server" Text='<%# Eval("entryNum") %>' />
                    </td>
                    <td>
                        <asp:Label ID="donorNumLabel" runat="server" 
                            Text='<%# Eval("donorNum") %>' />
                    </td>
                    <td class="testSelection">
                        <asp:CheckBox ID="CHGCheckBox" runat="server" Checked='<%# Eval("CHG") %>' 
                            Enabled="false" />
                    </td>
                    <td class="testSelection">
                        <asp:CheckBox ID="CMVCheckBox" runat="server" Checked='<%# Eval("CMV") %>' 
                            Enabled="false" />
                    </td>
                    <td class="testSelection">
                        <asp:CheckBox ID="devHCTPCheckBox" runat="server" 
                            Checked="true" Enabled="false" />
                    </td>
                </tr>
            </ItemTemplate>
            <LayoutTemplate>
                <table runat="server">
                    <tr runat="server">
                        <td runat="server">
                            <table ID="itemPlaceholderContainer" runat="server" border="1" 
                                style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;font-family: Verdana, Arial, Helvetica, sans-serif;">
                                <tr runat="server" style="background-color: #E0FFFF;color: #333333;">
                                    <th runat="server">
                                    </th>
                                    <th runat="server">
                                        #</th>
                                    <th runat="server">
                                        Donor Number</th>
                                    <th runat="server">
                                        CHG</th>
                                    <th runat="server">
                                        CMV</th>
                                    <th runat="server">
                                        HCTP</th>
                                </tr>
                                <tr ID="itemPlaceholder" runat="server">
                                </tr>
                            </table>
                        </td>
                    </tr>
                    <tr runat="server">
                        <td runat="server" 
                            style="text-align: center;background-color: #5D7B9D;font-family: Verdana, Arial, Helvetica, sans-serif;color: #FFFFFF">
                        </td>
                    </tr>
                </table>
            </LayoutTemplate>
            <SelectedItemTemplate>
                <tr style="background-color: #E2DED6;font-weight: bold;color: #333333;">
                    <td>
                        <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" CausesValidation="False" 
                            Text="Delete" />
                    </td>
                    <td>
                        <asp:Label ID="entryNumLabel" runat="server" Text='<%# Eval("entryNum") %>' />
                    </td>
                    <td>
                        <asp:Label ID="donorNumLabel" runat="server" 
                            Text='<%# Eval("donorNum") %>' />
                    </td>
                    <td class="testSelection">
                        <asp:CheckBox ID="CHGCheckBox" runat="server" Checked='<%# Eval("CHG") %>' 
                            Enabled="false" />
                    </td>
                    <td class="testSelection">
                        <asp:CheckBox ID="CMVCheckBox" runat="server" Checked='<%# Eval("CMV") %>' 
                            Enabled="false" />
                    </td>
                    <td class="testSelection">
                        <asp:CheckBox ID="devHCTPCheckBox" runat="server" 
                            Checked="true" Enabled="false" />
                    </td>
                </tr>
            </SelectedItemTemplate>
        </asp:ListView>


    <p class="style1" />
        <asp:Button ID="Button1" runat="server" Text="Submit Order" />
    </td>

</tr>
</table>

<% If (iPreLoadIndex = 2) Then%>
   <script type="text/javascript">changeContent(1,2); </script>
<% ElseIf (iPreLoadIndex = 3) Then%>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            DeleteCommand="DELETE FROM [ctsTPAOrder] WHERE [donorNum] = @original_donorNum" 
            InsertCommand="INSERT INTO [ctsTPAOrder] ([entryNum], [donorNum], [orderID], [CHG], [CMV], [devHCTP]) VALUES (@entryNum, @donorNum, @orderID, @CHG, @CMV, 1)" 
            SelectCommand="SELECT [entryNum], [donorNum], [CHG], [CMV], [devHCTP] FROM [ctsTPAOrder] WHERE ([orderID] = @orderID) ORDER BY [entryNum] DESC" 
            UpdateCommand="UPDATE [ctsTPAOrder] SET [entryNum] = @entryNum, [CHG] = @CHG, [CMV] = @CMV, [devHCTP] = @devHCTP WHERE [donorNum] = @original_donorNum" 
            OldValuesParameterFormatString="original_{0}">
            <DeleteParameters>
                <asp:Parameter Name="original_donorNum" Type="String" />
            </DeleteParameters>
            <InsertParameters>
                <asp:ControlParameter Name="orderID" ControlID="orderNumLbl" Type="Int32" />
                <asp:SessionParameter Name="entryNum" SessionField="entryNum" Type="Int32" />
                <asp:Parameter Name="donorNum" Type="String" />
                <asp:ControlParameter Name="collectionDate" ControlID="tbxCollDate" Type="DateTime" />
                <asp:Parameter Name="CHG" Type="Boolean" />
                <asp:Parameter Name="CMV" Type="Boolean" />
                <asp:Parameter Name="devHCTP" Type="Boolean" />
            </InsertParameters>
            <SelectParameters>
                <asp:SessionParameter Name="orderID" SessionField="orderNum" Type="Int32" />
            </SelectParameters>
            <UpdateParameters>
                <asp:Parameter Name="entryNum" Type="Int32" />
                <asp:Parameter Name="CHG" Type="Boolean" />
                <asp:Parameter Name="CMV" Type="Boolean" />
                <asp:Parameter Name="devHCTP" Type="Boolean" />
                <asp:Parameter Name="original_donorNum" Type="String" />
                            <asp:ControlParameter Name="orderID" ControlID="orderNumLbl" Type="Int32" />
            </UpdateParameters>
        </asp:SqlDataSource>

Try adding a handler for OnItemInserting and Cancel the operation there.尝试为OnItemInserting添加处理程序并在那里取消操作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM