ASP.NET VB Page_Load只有一次或替代

时间:2011-09-05 10:11:23

标签: asp.net vb.net iframe postback pageload

我有点不知所措!我有一个特殊的表单,允许我的客户请求特定产品的报价(由URL中的PID定义)表单加载到模式对话框内,并在iframe内。 Iframe的src值是从产品页面上的ahref的onclick事件设置的,例如;

<div id='basic-modal'><p><br /><br /><a href='#' class='basic' onClick="document.getElementById('ifr').src='quote/Public/Default.aspx?PID=111'">CLICK ME</a></p></div>

    <div id="basic-modal-content">
        <iframe id="ifr" width="850px" height="600px" frameborder="0" scrolling="no"></iframe>

我正在加载的表单在触发Page_Load时执行SQL插入。它也在内     如果Page.IsPostBack = False那么

由于某些奇怪的原因,页面在页面加载时会执行两次,而另一次页面关闭时...我需要在第一页加载时插入SQL插件,因为我的表单使用了返回的值。任何人都可以建议一个很好的方法来使Page_Load中的代码只启动一次吗?

非常感谢!

更新,完整代码:

aspx页面

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="Public_Default" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="../quoteFront.css" rel="stylesheet" type="text/css" />
<title></title>    
<style type="text/css">
    .style1
    {
        width: 100%;
    }
    .style2
    {
        height: 26px;
    }
    .style5
    {
        width: 299px;
    }
    .style6
    {
        width: 174px;
    }
    .style7
    {
        height: 26px;
        width: 174px;
    }
    .style8
    {
        width: 291px;
    }
    .style9
    {
        height: 26px;
        width: 189px;
    }
    .style10
    {
    }
    .style11
    {
        width: 189px;
    }
    .style12
    {
        width: 191px;
    }
    </style>
</head>
<body>
<form id="form1" runat="server">
<div>
    <cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePartialRendering="true" CombineScripts="false"  >
    </cc1:ToolkitScriptManager>
</div>
<asp:UpdatePanel ID="UpdatePanel3" runat="server"><ContentTemplate>
<asp:Panel ID="Panel2" runat="server">    
<table class="style1">
    <tr>
        <td class="style12">
            First name</td>
        <td class="style5">
            <asp:TextBox ID="txtFirstName" runat="server" Width="300px" 
                AutoCompleteType="FirstName"></asp:TextBox>
        </td>
        <td>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                ControlToValidate="txtFirstName" ErrorMessage="* Required" ForeColor="Red"></asp:RequiredFieldValidator>
        </td>
    </tr>
    <tr>
        <td class="style12">
            Last name</td>
        <td class="style5">
            <asp:TextBox ID="txtLastName" runat="server" Width="300px" 
                AutoCompleteType="LastName"></asp:TextBox>
        </td>
        <td>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
                ControlToValidate="txtLastName" ErrorMessage="* Required" ForeColor="Red"></asp:RequiredFieldValidator>
        </td>
    </tr>
    <tr>
        <td class="style12">
            Company name</td>
        <td class="style5">
            <asp:TextBox ID="txtCompanyName" runat="server" Width="300px" 
                AutoCompleteType="Company"></asp:TextBox>
        </td>
        <td>
            &nbsp;</td>
    </tr>
    <tr>
        <td class="style12">
            Email address</td>
        <td class="style5">
            <asp:TextBox ID="txtEmailAddress" runat="server" Width="300px" AutoCompleteType="Email"></asp:TextBox>
        </td>
        <td>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" 
                ControlToValidate="txtEmailAddress" ErrorMessage="* Required" 
                ForeColor="Red"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
                ControlToValidate="txtEmailAddress" ErrorMessage=" * Invalid email address" 
                ForeColor="Red" 
                ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
        </td>
    </tr>
    <tr>
        <td class="style12">
            Phone number</td>
        <td class="style5">
            <asp:TextBox ID="txtPhoneNumber" runat="server" Width="300px" AutoCompleteType="BusinessPhone"></asp:TextBox>
        </td>
        <td>
            <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" 
                ControlToValidate="txtPhoneNumber" ErrorMessage="* Required" 
                ForeColor="Red"></asp:RequiredFieldValidator>
        </td>
    </tr>
</table>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<div>
        <table class="style1">
        <tr>
            <td class="style11">
                Quantity required</td>
            <td class="style6">
                <asp:TextBox ID="txtQuantity1" runat="server" AutoPostBack="True"></asp:TextBox>
                <cc1:FilteredTextBoxExtender ID="ftbe" runat="server" FilterType="Numbers" 
                    TargetControlID="txtQuantity1" />
            </td>
            <td>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" 
                    ControlToValidate="txtQuantity1" 
                    ErrorMessage="* Please enter quantity required" ForeColor="Red"></asp:RequiredFieldValidator>
            </td>
        </tr>
        <tr>
            <td class="style11">
                <asp:Label ID="lblDesigninfo" runat="server" Text="Printing info"></asp:Label>
            </td>
            <td class="style6">
                <asp:DropDownList ID="drpDesignInfo1" runat="server" AutoPostBack="True" 
                    DataSourceID="SqlDataSource1" DataTextField="PrintInfoDesc" 
                    DataValueField="ID" AppendDataBoundItems="True">
                    <asp:ListItem></asp:ListItem>
                </asp:DropDownList>
                <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                    ConnectionString="<%$ ConnectionStrings:quotingSystemConnectionString %>" 
                    SelectCommand="SELECT [ID], [PrintInfoDesc] FROM [PrintInfo]">
                </asp:SqlDataSource>
            </td>
            <td>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" 
                    ControlToValidate="drpDesignInfo1" ErrorMessage="* Please select" 
                    ForeColor="Red"></asp:RequiredFieldValidator>
            </td>
        </tr>
        <tr>
            <td class="style11">
                <asp:Label ID="lblColoursSideOne1" runat="server" 
                    Text="Colour options first side" Visible="True"></asp:Label>
            </td>
            <td class="style6">
                <asp:DropDownList ID="drpColoursSideOne1" runat="server" Visible="True" 
                    AutoPostBack="True">
                </asp:DropDownList>
            </td>
            <td>
                &nbsp;</td>
        </tr>
        <tr>
            <td class="style9">
                <asp:Label ID="lblColoursSideTwo1" runat="server" 
                    Text="Colour options second side" Visible="false"></asp:Label>
            </td>
            <td class="style7">
                <asp:DropDownList ID="drpColoursSideTwo1" runat="server" Visible="false">
                </asp:DropDownList>
            </td>
            <td class="style2">
            </td>
        </tr>
    </table>
</div>
</ContentTemplate>
    <Triggers>
    <asp:AsyncPostBackTrigger ControlID="txtQuantity1" EventName="TextChanged" />
    <asp:AsyncPostBackTrigger ControlID="drpDesignInfo1" 
        EventName="SelectedIndexChanged" />
    <asp:AsyncPostBackTrigger ControlID="drpColoursSideOne1" 
        EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpdatePanel1" runat="server"><ContentTemplate>
<div style="text-align: center">Please fill in the above fields before uploading 
artwork.
<br />
When the upload is complete you will get the option to upload additional 
artwork.
                <cc1:AsyncFileUpload ID="AsyncFileUpload1" runat="server" 
                    CompleteBackColor="Lime" ErrorBackColor="Red" 
                    OnClientUploadComplete="UploadComplete" OnClientUploadError="uploadError" 
                    OnClientUploadStarted="StartUpload" 
                    onuploadedcomplete="AsyncFileUpload1_UploadedComplete" ThrobberID="Throbber" 
                    UploaderStyle="Modern" UploadingBackColor="#66CCFF" Width="100%" 
                    ClientIDMode="Inherit" />
                                    <asp:Label ID="Throbber" runat="server" Style="display: none">
<img src="../Images/indicator.gif" align="absmiddle" alt="loading" />
</asp:Label><asp:Label ID="lblStatus" runat="server"></asp:Label>
                <br />
<div style="max-height:70px; overflow : auto; ">
                <asp:Label ID="lblUploadList" runat="server" ForeColor="#006600" 
                    Font-Size="Smaller"></asp:Label>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>        
<table class="style1">
        <tr>
            <td class="style10">
                Any aditional info<asp:TextBox ID="txtComments" runat="server" Height="111px" 
                    TextMode="MultiLine" Width="100%"></asp:TextBox>
            </td>
        </tr>
        <tr>
            <td class="style8">
                <asp:Button ID="Button1" runat="server" Text="Send Request" Width="100%" 
                    Height="45px" Font-Bold="False" />
            </td>

        </tr>
    </table>

</asp:Panel>
     <br />
<asp:Panel ID="Panel1" runat="server" Visible="False">
    Thank you for requesting a quote. A member of our sales team will be in touch 
    shortly.<br />
    <br />
    <asp:Button ID="btnRequestAnother" runat="server" 
        Text="Request another quote for this product" CausesValidation="False" 
        Height="45px" Width="100%"/>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
    <script type="text/javascript" language="javascript">

        function uploadError(sender, args) {
            document.getElementById("lblStatus").innerHTML = "Failed to upload " + args.get_fileName() + ". Please try again. If problem persistes please email sales@thecleverbaggers.co.uk";
            document.getElementById("Button1").innerHTML = 'Send Request';
        }

        function StartUpload(sender, args) {
            document.getElementById("lblStatus").innerHTML = 'Uploading Started. Depending on your connection speed this can take a very long time. Please wait....';
            document.getElementById("Button1").innerHTML = 'Uploading Started. Please Wait....';
        }

        function UploadComplete(sender, args) {
            var filename = args.get_fileName();
            var contentType = args.get_contentType();
            var text = "Upload Complete, Press Select File to upload more. " //"Size of " + filename + " is " + args.get_length() + " bytes";
            if (contentType.length > 0) {
                text //+= " and content type is '" + contentType + "'.";
            }
            document.getElementById("lblStatus").innerHTML = text;
            document.getElementById("lblUploadList").innerHTML = document.getElementById("lblUploadList").innerHTML + "<br />" + filename + " Uploaded Successfully";
            document.getElementById("Button1").innerHTML = 'Send Request';
        }

</script>


    </form>


</body>

VB代码:

Imports System.Data
Imports System.IO
Imports System.Data.SqlClient

Partial Class Public_Default
Inherits System.Web.UI.Page
Dim ArtworkID As Integer
Dim customerIDDecrypt As String
Public QuoteID As Integer
Dim UploadedFileList As String
Dim productID As String
'Shared IsFirstTime As Boolean = False


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

    productID = Request.QueryString("PID")
    customerIDDecrypt = "0"

    'If Not Page.IsPostBack AndAlso Not IsFirstTime Then
If Not Page.IsPostBack Then
        Try
            Dim sql As String = "INSERT INTO [Quote] (Status, CreationDate, CreationTime, CustomerID, ProductID, IP)" & _
                "VALUES (@Status, @CreationDate, @CreationTime, @CustomerID, @ProductID, @IP) SELECT SCOPE_IDENTITY()"

            Using cn As New SqlConnection(ConfigurationManager.AppSettings("quotingSystemConnectionString")), _
                  cmd As New SqlCommand(sql, cn)

                cmd.Parameters.Add("@Status", SqlDbType.NVarChar).Value = 1
                cmd.Parameters.Add("@CreationDate", SqlDbType.Date).Value = Date.UtcNow.ToLocalTime
                cmd.Parameters.Add("@CreationTime", SqlDbType.Time).Value = Date.UtcNow.ToLocalTime.TimeOfDay
                cmd.Parameters.Add("@CustomerID", SqlDbType.Int).Value = customerIDDecrypt
                cmd.Parameters.Add("@ProductID", SqlDbType.Int).Value = productID
                cmd.Parameters.Add("@IP", SqlDbType.NVarChar).Value = CStr(Request.UserHostAddress())
                cn.Open()
                '//grab the ID of this insert.
                QuoteID = Integer.Parse(cmd.ExecuteScalar().ToString())

                cn.Close()
                'IsFirstTime = True
            End Using
        Catch ex As Exception
            '// do something with this error!
            Response.Write(ex.Message)
        End Try
    End If
End Sub

Protected Sub txtQuantity1_TextChanged(sender As Object, e As System.EventArgs) Handles txtQuantity1.TextChanged
    '//populate colours dependant on quantity
    If txtQuantity1.Text > "" Then
        If txtQuantity1.Text < "100" Then
            'side one
            drpColoursSideOne1.Items.Clear()
            'drpColoursSideOne1.Enabled = True
            drpColoursSideOne1.Items.Add(New ListItem("One colour", "1"))
            drpColoursSideOne1.Items.Add(New ListItem("More than one colour", "full"))
            drpColoursSideOne1.Items.Add(New ListItem("I don't know!", "help"))
            drpColoursSideOne1.Visible = True
            'side two
            drpColoursSideTwo1.Items.Clear()
            'drpColoursSideTwo1.Enabled = True
            drpColoursSideTwo1.Items.Add(New ListItem("One colour", "1"))
            drpColoursSideTwo1.Items.Add(New ListItem("More than one colour", "full"))
            drpColoursSideTwo1.Items.Add(New ListItem("I don't know!", "help"))
            drpColoursSideTwo1.Items.Add(New ListItem("na", "na"))
        Else
            'side one
            drpColoursSideOne1.Items.Clear()
            'drpColoursSideOne1.Enabled = True
            drpColoursSideOne1.Items.Add(New ListItem("One colour", "1"))
            drpColoursSideOne1.Items.Add(New ListItem("Two colours", "2"))
            drpColoursSideOne1.Items.Add(New ListItem("Three colours", "3"))
            drpColoursSideOne1.Items.Add(New ListItem("Four colours", "4"))
            drpColoursSideOne1.Items.Add(New ListItem("Five colours", "5"))
            drpColoursSideOne1.Items.Add(New ListItem("Full colour (eg, photo)", "full"))
            drpColoursSideOne1.Items.Add(New ListItem("I don't know!", "help"))
            'side two
            drpColoursSideTwo1.Items.Clear()
            'drpColoursSideTwo1.Enabled = True
            drpColoursSideTwo1.Items.Add(New ListItem("One colour", "1"))
            drpColoursSideTwo1.Items.Add(New ListItem("Two colours", "2"))
            drpColoursSideTwo1.Items.Add(New ListItem("Three colours", "3"))
            drpColoursSideTwo1.Items.Add(New ListItem("Four colours", "4"))
            drpColoursSideTwo1.Items.Add(New ListItem("Five colours", "5"))
            drpColoursSideTwo1.Items.Add(New ListItem("Full colour (eg, photo)", "full"))
            drpColoursSideTwo1.Items.Add(New ListItem("I don't know!", "help"))
            drpColoursSideTwo1.Items.Add(New ListItem("na", "na"))
        End If
    Else
        'nothing
    End If
End Sub

Protected Sub drpDesignInfo1_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles drpDesignInfo1.SelectedIndexChanged
    If drpDesignInfo1.SelectedValue = "1" And txtQuantity1.Text > "0" Then
        lblColoursSideTwo1.Visible = False
        lblColoursSideOne1.Visible = True
        drpColoursSideOne1.Visible = True
        drpColoursSideOne1.Enabled = True
        drpColoursSideTwo1.Visible = False
        drpColoursSideTwo1.Enabled = False
        drpColoursSideTwo1.SelectedValue = "na"
        ' drpColoursSideTwo1.Items.Remove(New ListItem("Same as the first side", "same"))
    ElseIf drpDesignInfo1.SelectedValue = "3" And txtQuantity1.Text > "0" Then
        lblColoursSideOne1.Visible = True
        drpColoursSideOne1.Visible = True
        drpColoursSideOne1.Enabled = True
        lblColoursSideTwo1.Visible = True
        drpColoursSideTwo1.Visible = True
        drpColoursSideTwo1.Enabled = True
        ' drpColoursSideTwo1.Items.Remove(New ListItem("Same as the first side", "same"))
    ElseIf drpDesignInfo1.SelectedValue = "2" And txtQuantity1.Text > "0" Then
        lblColoursSideOne1.Visible = True
        drpColoursSideOne1.Visible = True
        drpColoursSideOne1.Enabled = True
        lblColoursSideTwo1.Visible = True
        drpColoursSideTwo1.Visible = True
        drpColoursSideTwo1.Enabled = False
        ' Dim tmpCount2 = drpColoursSideTwo1.Items.Count
        ' If tmpCount2 = 7 Or tmpCount2 = 3 Then
        'drpColoursSideTwo1.Items.Add(New ListItem("Same as the first side", "same"))
        'End If
        drpColoursSideTwo1.SelectedValue = drpColoursSideOne1.SelectedValue
    End If
End Sub
Protected Sub AsyncFileUpload1_UploadedComplete(sender As Object, e As AjaxControlToolkit.AsyncFileUploadEventArgs)
    System.Threading.Thread.Sleep(3000)
    If AsyncFileUpload1.HasFile Then
        'Dim strPath As String = newPath + Path.GetFileName(e.FileName)
        'AsyncFileUpload1.SaveAs(strPath)

        Dim fileName = Path.GetFileName(e.FileName)
        'Dim imageBytes(AsyncFileUpload1.PostedFile.InputStream.Length) As Byte
        'AsyncFileUpload1.PostedFile.InputStream.Read(imageBytes, 0, imageBytes.length)
        Dim imageBytes = AsyncFileUpload1.FileBytes
        'AsyncFileUpload1.FileBytes
        '// now insert this into the database
        Try
            Dim sql As String = "INSERT INTO [UploadedFiles] (CustomerID, FileName, FileSize, FileContent, FileType, FileUploadDate, QuoteID)" & _
                "VALUES (@CustomerID, @FileName, @FileSize, @FileContent, @FileType, @FileUploadDate, @QuoteID) SELECT SCOPE_IDENTITY()"

            Using cn As New SqlConnection(ConfigurationManager.AppSettings("quotingSystemConnectionStringLargeTimeout")), _
                  cmd As New SqlCommand(sql, cn)
                cmd.CommandTimeout = "3600"

                cmd.Parameters.Add("@CustomerID", SqlDbType.Int).Value = 1
                cmd.Parameters.Add("@FileName", SqlDbType.NVarChar).Value = fileName
                cmd.Parameters.Add("@FileSize", SqlDbType.NVarChar).Value = AsyncFileUpload1.PostedFile.ContentLength
                cmd.Parameters.Add("@FileContent", SqlDbType.VarBinary).Value = imageBytes
                cmd.Parameters.Add("@FileType", SqlDbType.NVarChar, 50).Value = AsyncFileUpload1.PostedFile.ContentType
                cmd.Parameters.Add("@FileUploadDate", SqlDbType.Date).Value = Date.UtcNow.ToLocalTime
                cmd.Parameters.Add("@QuoteID", SqlDbType.Int).Value = QuoteID

                cn.Open()
                '//grab the ID of this insert.
                ArtworkID = Integer.Parse(cmd.ExecuteScalar().ToString())
                cn.Close()
            End Using
        Catch ex As Exception
            '// do something with this error!
            Response.Write(ex.Message)
        End Try
    End If
End Sub

Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
    '// Populate the database with remaining information
    Button1.Text = "Please Wait...  Sending Request"
    Dim thisConnection As New SqlConnection(ConfigurationManager.AppSettings("quotingSystemConnectionString"))
    'Create Command object
    Dim nonqueryCommand As SqlCommand = thisConnection.CreateCommand()
    Try
        ' Open Connection
        thisConnection.Open()
        ' 1. Create Command
        ' Sql Update Statement
        Dim updateSql As String = "UPDATE Quote " & _
           "SET Status = '2', FirstName = @FirstName, LastName = @LastName, CompanyName = @CompanyName, Email = @Email, Phone = @Phone, Quantity = @Quantity, DesignInfo = @DesignInfo, CS1 = @CS1, CS2 = @CS2, Comments = @Comments " & _
           "WHERE QuoteID = " & QuoteID
        Dim UpdateCmd As New SqlCommand(updateSql, thisConnection)
        ' 2. Map Parameters
        'UpdateCmd.Parameters.Add("@Status", SqlDbType.Int, "Status")
        UpdateCmd.Parameters.Add("@FirstName", SqlDbType.NVarChar, 100, "FirstName")
        UpdateCmd.Parameters.Add("@LastName", SqlDbType.NVarChar, 100, "LastName")
        UpdateCmd.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 100, "CompanyName")
        UpdateCmd.Parameters.Add("@Email", SqlDbType.NVarChar, 200, "Email")
        UpdateCmd.Parameters.Add("@Phone", SqlDbType.NVarChar, 30, "Phone")
        UpdateCmd.Parameters.Add("@Quantity", SqlDbType.Int, 20, "Quantity")
        UpdateCmd.Parameters.Add("@DesignInfo", SqlDbType.NVarChar, 100, "DesignInfo")
        UpdateCmd.Parameters.Add("@CS1", SqlDbType.NVarChar, 20, "CS1")
        UpdateCmd.Parameters.Add("@CS2", SqlDbType.NVarChar, 20, "CS2")
        UpdateCmd.Parameters.Add("@Comments", SqlDbType.NVarChar, 1000, "Comments")
        ''''''''''''''
        'UpdateCmd.Parameters("@Status").Value = 2
        UpdateCmd.Parameters("@FirstName").Value = txtFirstName.Text
        UpdateCmd.Parameters("@LastName").Value = txtLastName.Text
        UpdateCmd.Parameters("@CompanyName").Value = txtCompanyName.Text
        UpdateCmd.Parameters("@Email").Value = txtEmailAddress.Text
        UpdateCmd.Parameters("@Phone").Value = txtPhoneNumber.Text
        UpdateCmd.Parameters("@Quantity").Value = txtQuantity1.Text
        UpdateCmd.Parameters("@DesignInfo").Value = drpDesignInfo1.SelectedValue
        UpdateCmd.Parameters("@CS1").Value = drpColoursSideOne1.SelectedValue
        Dim CS2 As String
        If drpDesignInfo1.SelectedValue = "1" Then
            CS2 = "na"
        Else
            CS2 = drpColoursSideTwo1.SelectedValue
        End If
        UpdateCmd.Parameters("@CS2").Value = CS2
        UpdateCmd.Parameters("@Comments").Value = txtComments.Text
        'QuoteID
        '''''''''''''''
        UpdateCmd.ExecuteNonQuery()
    Catch ex As SqlException
        ' Display error
        Response.Write("FAIL: " & ex.Message)
    Finally
        ' Close Connection
        thisConnection.Close()
        Panel1.Visible = True
        Panel2.Visible = False
    End Try
End Sub

Protected Sub btnRequestAnother_Click(sender As Object, e As System.EventArgs) Handles btnRequestAnother.Click
    QuoteID = Nothing
    Response.Redirect(Request.RawUrl)
    Panel1.Visible = False
    Panel2.Visible = True
    'IsFirstTime = False
End Sub
Protected Sub drpColoursSideOne1_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles drpColoursSideOne1.SelectedIndexChanged
    If drpDesignInfo1.SelectedValue = "2" Then
        drpColoursSideTwo1.SelectedValue = drpColoursSideOne1.SelectedValue
    End If
End Sub
End Class

请原谅我凌乱的代码......

1 个答案:

答案 0 :(得分:0)

你可以这样做:

static bool IsFirstTime = false;

在此之后

if(!Page.IsPostBack && !IsFirstTime)
        {
            insertdata();
            IsFirstTime = true;
        }

insertdata()将数据插入数据库。