0
我被無法取消列表視圖插入操作跟在驗證字符串的方法之後難住了。雖然該方法驗證字符串並在字符串無效時顯示模式彈出窗口,但是我想在listviewinserteventargs中使用e.cancel停止插入,但是取消操作沒有發生。任何幫助表示讚賞!如何在listview中取消插入以下方法asp.net vb
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>