ASP.NET VB Page_Load только один раз или альтернатива - PullRequest
0 голосов
/ 05 сентября 2011

Я немного застрял на том, что делать!У меня есть специальная форма, которая позволяет моим клиентам запрашивать расценки на конкретный продукт (определяется PID в URL). Форма загружается внутри модального диалога и внутри этого Iframe.Значение src в Iframe устанавливается из события onclick ahref на страницах продукта, например:

<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>

Загружаемая форма выполняет вставку SQL при запуске Page_Load.Также оно находится в If Page.IsPostBack = False Then

По какой-то странной причине страница делает это дважды, когда страница загружается, и в другой раз, когда страница закрывается. Мне нужна вставка SQL на первой страницезагрузить как возвращаемые значения используются моей формой.Кто-нибудь может предложить хороший способ заставить код внутри Page_Load запускаться только один раз?

Большое спасибо!

ОБНОВЛЕНИЕ, Полный код:

aspx page

<%@ 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 CODE:

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 голосов
/ 05 сентября 2011

вы можете сделать так:

static bool IsFirstTime = false;

После этого

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

insertdata () вставляет данные в базу данных.

...