Loading ...

Refresh a UserControl from another UserControl in the same parent page

Who is online?  0 guests and 0 members
home  »  forums   »  asp.net topics   »  web forms / data controls   » Refresh a UserControl from another UserControl in the same parent page

Refresh a UserControl from another UserControl in the same parent page

Posts under the topic: Refresh a UserControl from another UserControl in the same parent page

Posted: 8/28/2010

Lurker 30  points  Lurker
  • Joined on: 4/25/2010
  • Posts: 6

Hi there,

I am struggling with the following issue:

I have an Ajax enable parent page in which I dynamically load two UserControls (UC1 and UC2) in an update panel.

UC1 contains a Gridview in which I can add new records with the help of a linkbutton in the footer.

UC2 contain an other Gridview that display the part of the data from the same underlying database table.

I would like the UC2 to rebind (refresh) when I add a new record in UC1.

Anyone could help me to wrie the code?

Cheers,

Pascal

 


Posted: 8/30/2010

Professional 8505  points  Professional
  • Joined on: 5/3/2010
  • Posts: 391

Hello and welcome to CodeASP.NET Community @Pascal,

For your issue, please read the following MSDN article: http://msdn.microsoft.com/en-us/library/bb386452.aspx - in order to get you started for working with DataBound controls with UpdatePanels. If you understand the logic and the procedure, it will help you accomplish this in your scenario.

Regards,
Hajan


Posted: 8/31/2010

Lurker 30  points  Lurker
  • Joined on: 4/25/2010
  • Posts: 6

Hi Hajan,

Read the article and understand about the update panel behavior however I am not sure if the Gridview in the UC2 will update as it is dynamically loaded.

Any possibility to get me started with some input?

Cheers,

Pascal


Posted: 9/1/2010

Professional 8505  points  Professional
  • Joined on: 5/3/2010
  • Posts: 391

If you have both of the GridViews in one UpdatePanel, like in the following sample code:

    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Always" runat="server">
        <ContentTemplate>
            <uc1:GridView1 ID="GridView11" OnLoad="GridView11_OnLoad" runat="server" />
            <br />
            <asp:Label ID="Label1" runat="server" Text="<%# DateTime.Now %>"></asp:Label>
            <uc2:GridView2 ID="GridView21" runat="server" EnableViewState="false" />
        </ContentTemplate>
        
    </asp:UpdatePanel>


add EnableViewState="false" to the second WebUserControl.

This will make if the UpdatePanel is refreshed to rebind with new data.

See my code and try it.


Posted: 9/1/2010

Lurker 30  points  Lurker
  • Joined on: 4/25/2010
  • Posts: 6

Dear Hajan,

Thanks for the guidance, in your code the UC are static, where mine are dynamic.

I tried using static UC but the UC2 will not load after the update panel refreshes.

Regards,


Posted: 9/1/2010

Professional 8505  points  Professional
  • Joined on: 5/3/2010
  • Posts: 391

ppmmhk said:

user="Pascal Martin"]

Dear Hajan,

Thanks for the guidance, in your code the UC are static, where mine are dynamic.

I tried using static UC but the UC2 will not load after the update panel refreshes.

Regards,

Can you post your code? That way I will have clear view on what you are doing on your scenario Wink


Posted: 9/2/2010

Lurker 30  points  Lurker
  • Joined on: 4/25/2010
  • Posts: 6

Hi Hajan,

Here after is my code, with some additional information.

I poster only the parent page because the two usercontrols code are simple ascx pages with a gridwiew.

The usercontrols (UC1 and UC2) are in two distinct Accordion panes. They are static not dynamic.

If I declare UC2 EnableViewState="Fase" on UC2 it won't load.

The updatepanel refreshes when an action is triggered in the UC1

If for instance I change UC2 to dynamic, I load it with the Sub LoadCtrl() methode, which produce the same result.

Finally the label <div><asp:Label ID="tm" runat="server" /></div> show the current time in the same pane as the UC2. The label refreshes but the gridview does not.

 

<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="ProductsView.ascx.vb" Inherits="WebSourcing.ProductsView" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<%@ Register TagPrefix="uc" TagName="Price_G" Src="~/UControls/PriceGrid.ascx" %>
<%@ Register TagPrefix="uc" TagName="Pack_G" Src="~/UControls/PackGrid.ascx" %>
<div>
<div id="XP">
  <div id="XP1">
<asp:UpdatePanel ID="uppnl" runat="server" UpdateMode="Always">
<ContentTemplate>
<cc1:Accordion ID="Accordion1" runat="server" SelectedIndex="0" HeaderSelectedCssClass="AccordionHeader1" HeaderCssClass="AccordionHeaderSel1"
  ContentCssClass="AccordionContent1" EnableViewState="true" FadeTransitions="false" FramesPerSecond="40" TransitionDuration="250" AutoSize="None" RequireOpenedPane="false"
   SuppressHeaderPostbacks="true">
<Panes>
<cc1:AccordionPane ID="AccordionPane1" runat="server">
    <Header>
     <img src="Images/ArrowBigH.png" alt="" /> 
     <asp:Label ID="Label3" runat="server" Text="Product Information"  />&nbsp;&nbsp;
     <asp:Label ID="Label2" runat="server" CssClass="AccordionHead"  />&nbsp;&nbsp;
      <asp:Label ID="Label14" runat="server" CssClass="AccordionHead"  />
    </Header>
    <Content>
    <table id="tblPI" class="tblMaster" cellpadding="0" cellspacing="5" border="0" runat="server">
        <tr>
        <td class="tdA"><asp:label id="lblProdRef" runat="server" CssClass="lblText" Text="Product Code" /></td>
        <td class="tdB"><asp:textbox id="txbProdCode" CssClass="tbox" runat="server" /></td>
        <td class="tdC"><asp:label id="lblSupRef" runat="server" CssClass="lblText" Text="Supplier Reference" /></td>
        <td class="tdD"><asp:textbox id="txbSupRef" CssClass="tbox" runat="server" /></td>
        </tr>
        <tr>
        <td class="tdA"><asp:label id="lblShtDesc" runat="server" CssClass="lblText" Text="Short Description" /></td>
        <td class="tdB" colspan="3"><asp:textbox id="txbSDesc" CssClass="tbox" runat="server" /></td>
        </tr>
        <tr>
        <td class="tdA1"><asp:label id="lblLDesc" runat="server" CssClass="lblText" Text="Long Description" /></td>
        <td class="tdE" colspan="3"><asp:textbox id="txbLDesc" runat="server" CssClass="tbox1" MaxLength="255" height="80px" TextMode="MultiLine" /></td>
        </tr>
        <tr>
        <td class="tdA"><asp:label id="lblsup" runat="server" CssClass="lblText" Text="Supplier" /></td>
        <td class="tdB"><asp:DropDownList id="ddlSup" Runat="server" CssClass="tbox" /></td>
        <td class="tdC"><asp:label id="lblCat" runat="server" CssClass="lblText" Text="Category" /></td>
        <td class="tdD"><asp:DropDownList ID="ddlCat" CssClass="tbox" runat="server" /></td>
        </tr>
   </table>
    <cc1:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender1" runat="server" TargetControlID="txbProdCode" WatermarkText="(AUTOFILL)" WatermarkCssClass="Water" /> 
    </Content>   
</cc1:AccordionPane>

<cc1:AccordionPane ID="AccordionPane2" runat="server" EnableViewState="true">
<Header>
<img src="Images/ArrowBigH.png" alt="" />
<asp:Label ID="Label4" runat="server" Text="Trading Terms & Prices"  />
</Header>
<Content>

<table id="tblPrice" class="tblMaster" cellpadding="0" cellspacing="5" border="0" runat="server">
<tr>
<td class="tdF"><asp:label id="lblOrg" runat="server" CssClass="lblText" Text="Country of Orgin" /></td>
<td class="tdF"><asp:label id="lblInco" runat="server" CssClass="lblText" Text="Trading Incoterm" /></td>
<td class="tdF"><asp:label id="lblPort" runat="server" CssClass="lblText" /></td>
<td class="tdF"><asp:label id="lblCur" runat="server" CssClass="lblText" Text="Curr" /></td>
</tr>
<tr>
<td><asp:dropdownlist id="ddlOrg" runat="server" CssClass="tbox" EnableViewState="true">
        <asp:ListItem Value="CHINA" Selected="True">CHINA</asp:ListItem>
        <asp:ListItem Value="HONG KONG">HONG KONG</asp:ListItem>
        <asp:ListItem Value="THAILAND">THAILAND</asp:ListItem>
        <asp:ListItem Value="TAIWAN">TAIWAN</asp:ListItem>
        <asp:ListItem Value="VIETNAM">VIETNAM</asp:ListItem>
</asp:dropdownlist></td>
<td><asp:dropdownlist id="ddlInco" runat="server" CssClass="tbox" EnableViewState="true" OnSelectedIndexChanged="ChangeInco" AutoPostBack="true">
        <asp:ListItem Value="EXW">Ex-Works</asp:ListItem>
        <asp:ListItem Value="FCA">FCA</asp:ListItem>
        <asp:ListItem Value="FOB" Selected="True">FOB</asp:ListItem>
        <asp:ListItem Value="CIF">CIF</asp:ListItem>
        <asp:ListItem Value="DDU">DDU</asp:ListItem>
        <asp:ListItem Value="DDP">DDP</asp:ListItem>
</asp:dropdownlist></td>
<td><asp:dropdownlist id="ddlPOL" runat="server" CssClass="tbox" EnableViewState="true">
        <asp:ListItem Value="SHANGHAI">SHANGHAI</asp:ListItem>
        <asp:ListItem Value="NINGBO">NINGBO</asp:ListItem>
        <asp:ListItem Value="YANTIAN">YANTIAN</asp:ListItem>
        <asp:ListItem Value="TIANJIN">TIANJIN</asp:ListItem>
        <asp:ListItem Value="CHONGQING">CHONGQING</asp:ListItem>
        <asp:ListItem Value="QINGDAO">QINGDAO</asp:ListItem>
        <asp:ListItem Value="LE HAVRE">LE HAVRE</asp:ListItem>
        <asp:ListItem Value="FOS SUR MER">FOS S/MER</asp:ListItem>
        <asp:ListItem Value="ANTWERP">ANTWERP</asp:ListItem>
    </asp:dropdownlist>
</td>
<td><asp:dropdownlist id="ddlCur" runat="server" CssClass="tbox" EnableViewState="true">
        <asp:ListItem Value="USD" Selected="True">USD</asp:ListItem>
        <asp:ListItem Value="RMB">RMB</asp:ListItem>
        <asp:ListItem Value="HKD">HKD</asp:ListItem>
        <asp:ListItem Value="EUR">EURO</asp:ListItem>
</asp:dropdownlist></td>
</tr>
</table>
<asp:PlaceHolder ID="PlaceHolder1" runat="server">
<uc:Price_G ID="UC1" runat="server" OnLoad="LoadCtrl"/>
</asp:PlaceHolder>
 
</Content>
</cc1:AccordionPane>

<cc1:AccordionPane ID="AccordionPane3" runat="server">
<Header>
<img src="Images/ArrowBigH.png" alt="" />
<asp:Label ID="Label5" runat="server" Text="Product Packing"  />
</Header>
<Content>
<div><asp:Label ID="tm" runat="server" /></div>
<asp:PlaceHolder ID="PlaceHolder2" runat="server">
<uc:Pack_G ID="UC2" runat="server" />
</asp:PlaceHolder>   
</Content>
</cc1:AccordionPane>   

<cc1:AccordionPane ID="AccordionPane4" runat="server" EnableViewState="true">
<Header>
<img src="Images/ArrowBigH.png" alt="" />
<asp:Label ID="Label1" runat="server" Text="Quality & Certificates" />
</Header>
<Content>
<table id="tblQC" class="tblMaster" cellpadding="0" cellspacing="6" border="0" runat="server">
<tr>
<td colspan="4"><asp:label id="lblNorme" runat="server" CssClass="lblText" Text="Norme/Standard" /></td>
<td colspan="4"><asp:label id="lblLab" runat="server" CssClass="lblText" Text="Laboratory" /></td>
<td colspan="2"><asp:label id="lblLabPlace" runat="server" CssClass="lblText" Text="Laboratory Location" /></td>
<td colspan="2"><asp:label id="lblCert" runat="server" CssClass="lblText" Text="Issue Date" />
</td>
</tr>
<tr>
<td colspan="4"><asp:textbox id="txbNorme" CssClass="tbox" runat="server" /></td>
<td colspan="4"><asp:textbox id="txbLab" CssClass="tbox" runat="server" /></td>
<td colspan="2"><asp:textbox id="txbLabPlace" CssClass="tbox" runat="server" /></td>
<td colspan="2"><asp:textbox id="txbCertDate" CssClass="tbox2" runat="server" />
<cc1:CalendarExtender ID="CalendarExtender" runat="server" TargetControlID="txbCertDate" ClearTime="true" Format="dd/MM/yyyy" /></td>
</tr>
<tr>
<td class="tdI"><asp:CheckBox ID="ckbROHS" runat="server" CssClass="ckbStyle" /></td>
<td class="tdK"><asp:label id="lblROHS" runat="server" CssClass="lblText" Text="ROHS" /></td>
<td class="tdI"><asp:CheckBox ID="ckbCE" runat="server" CssClass="ckbStyle" /></td>
<td class="tdK"><asp:label id="lblCE" runat="server" CssClass="lblText" Text="CE" /></td>
<td class="tdI"><asp:CheckBox ID="ckbLVD" runat="server" CssClass="ckbStyle" /></td>
<td class="tdK"><asp:label id="lblLVD" runat="server" CssClass="lblText" Text="LVD" /></td>
<td class="tdI"><asp:CheckBox ID="ckbEMC" runat="server" CssClass="ckbStyle" /></td>
<td class="tdK"><asp:label id="lblEMC" runat="server" CssClass="lblText" Text="EMC" /></td>
<td class="tdK"></td>
<td class="tdK"></td>
<td class="tdK"></td>
<td class="tdK"></td>
</tr>
</table>
</Content>
</cc1:AccordionPane>
 
<cc1:AccordionPane ID="AccordionPane5" runat="server">
<Header>
<img src="Images/ArrowBigH.png" alt="" />
<asp:Label ID="Label7" runat="server" Text="Logistics & Production"  />
</Header>
<Content>

<table id="tblLP" class="tblMaster" cellpadding="0" cellspacing="5" border="0" runat="server">
<tr>
<td colspan="2"><asp:label id="lblMOQ" runat="server" CssClass="lblText" Text="Minimum order qty" /></td>
<td colspan="2"><asp:label id="lblProd" runat="server" CssClass="lblText" Text="Minimum Prod qty" /></td>
<td colspan="2"><asp:label id="lblLead" runat="server" CssClass="lblText" Text="Prod Lead-time" /></td>
</tr>
<tr>
<td class="tdG"><asp:textbox id="txbMOQ" CssClass="tbox2" runat="server" /></td>
<td><asp:label id="Label6" runat="server" CssClass="lblText" Text="Units" /></td>
<td class="tdG"><asp:textbox id="txbProdQty" CssClass="tbox2" runat="server" /></td>
<td><asp:label id="Label8" runat="server" CssClass="lblText" Text="Units" /></td>
<td class="tdG"><asp:textbox id="txbLead" CssClass="tbox2" runat="server" /></td>
<td><asp:label id="Label9" runat="server" CssClass="lblText" Text="Days" /></td>
</tr>
</table>

</Content>
</cc1:AccordionPane>  

<cc1:AccordionPane ID="AccordionPane6" runat="server">
<Header>
<img src="Images/ArrowBigH.png" alt="" />
<asp:Label ID="Label10" runat="server" Text="Export Documents"  />
</Header>
<Content>

<table id="tblED" class="tblMaster" cellpadding="0" cellspacing="5" border="0" runat="server">
<tr>
<td class="tdL"><asp:label id="lblHS" runat="server" CssClass="lblText" Text="H.S Code" /></td>
<td class="tdG"><asp:textbox id="txbHS" CssClass="tbox" runat="server" /></td>
<td class="tdI"><asp:CheckBox ID="ckbGSP" runat="server" CssClass="ckbStyle" /></td>
<td class="tdK"><asp:label id="Label11" runat="server" CssClass="lblText" Text="GSP Form A" /></td>
<td class="tdI"><asp:CheckBox ID="ckbCO" runat="server" CssClass="ckbStyle" /></td>
<td class="tdI"><asp:label id="Label12" runat="server" CssClass="lblText" Text="C/O" /></td>
<td class="tdI"><asp:CheckBox ID="ckbEXP" runat="server" CssClass="ckbStyle" /></td>
<td class="tdK"><asp:label id="Label16" runat="server" CssClass="lblText" Text="Exp. Lisense" /></td>
<td class="tdI"><asp:CheckBox ID="ckbOth" runat="server" CssClass="ckbStyle" /></td>
<td class="tdI"><asp:label id="Label17" runat="server" CssClass="lblText" Text="Other" /></td>
<td class="tdG"><asp:textbox id="txbOth" CssClass="tbox" runat="server" /></td>
</tr>
</table>
<cc1:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender2" runat="server" TargetControlID="txbOth" WatermarkText="(SPECIFY)" WatermarkCssClass="Water" /> 
 
</Content>
</cc1:AccordionPane>  
</Panes>
</cc1:Accordion>
</ContentTemplate>
</asp:UpdatePanel>
<br /><br /><br />
<asp:LinkButton ID="btnReturn" runat="server" Text="Return" OnClick="BackTo" CausesValidation="false" ForeColor="#000000" />&nbsp;&nbsp;&nbsp;
<asp:ImageButton ID="btnDel" runat="server" ImageUrl="~/Images/Delete.png" OnClick="Delete" CausesValidation="false" />&nbsp;&nbsp;&nbsp;
<div id="ErrorMsg" runat="server" />
<div id="MsgInfo" runat="server" />
</div>
</div>
</div>


Imports System
Imports System.Web
Imports System.Web.Security
Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls.HtmlControl
Imports System.Web.UI.UserControl


Partial Public Class ProductsView
    Inherits System.Web.UI.UserControl

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            If Request.QueryString("ProdID") Is Nothing Then
                btnDel.Visible = False
                btnReturn.Visible = False
            Else
                FillSup()
                FillCat()
                DoData()
            End If
        End If
    End Sub

Sub LoadCtrl()
        'Dim Price_Grid As UserControl = LoadControl("~/UControls/PriceGrid.ascx")
        'PlaceHolder1.Controls.Clear()
        'PlaceHolder1.Controls.Add(Price_Grid)

        'Dim Pack_Grid As UserControl = LoadControl("~/UControls/PackGrid.ascx")
        'PlaceHolder2.Controls.Add(Pack_Grid)
        tm.Text = DateTime.Now.ToLongTimeString
    End Sub

    Sub DoData()
        Dim myConn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString)
        Dim myCommand As SqlCommand = New SqlCommand("SelectUniqueProduct", myConn)
        myCommand.CommandText = "SelectUniqueProduct"
        myCommand.CommandType = CommandType.StoredProcedure

        Dim sp As SqlParameter
        sp = myCommand.Parameters.AddWithValue("@ProdID", SqlDbType.Int)
        sp.Value = CStr(Request.QueryString("ProdID"))

        Dim myAdapter As SqlDataAdapter = New SqlDataAdapter(myCommand)
        Dim myDS As DataSet = New DataSet
        myAdapter.Fill(myDS, "Products")

        Try
            myConn.Open()
            txbSupRef.Text = myDS.Tables(0).Rows(0)("ProdRef")
            txbProdCode.Text = myDS.Tables(0).Rows(0)("ProdCode")
            Label2.Text = myDS.Tables(0).Rows(0)("ProdCode")
            ddlSup.SelectedItem.Text = myDS.Tables(0).Rows(0)("CompanyName")
            ddlSup.SelectedItem.Value = myDS.Tables(0).Rows(0)("CompanyCode")
            ddlCat.SelectedItem.Text = myDS.Tables(0).Rows(0)("Category")
            ddlCat.SelectedItem.Value = myDS.Tables(0).Rows(0)("Cat")
            txbSDesc.Text = myDS.Tables(0).Rows(0)("ProdShtDesc")
            txbLDesc.Text = myDS.Tables(0).Rows(0)("ProdLongDesc")
            ddlOrg.SelectedItem.Text = myDS.Tables(0).Rows(0)("Origin")
            ddlOrg.SelectedItem.Value = myDS.Tables(0).Rows(0)("Origin")
            ckbGSP.Checked = myDS.Tables(0).Rows(0)("GSP")
            ckbCO.Checked = myDS.Tables(0).Rows(0)("CO")
            ckbEXP.Checked = myDS.Tables(0).Rows(0)("Expl")
            txbHS.Text = myDS.Tables(0).Rows(0)("HSCode")
            txbNorme.Text = myDS.Tables(0).Rows(0)("Normes")
            txbLab.Text = myDS.Tables(0).Rows(0)("Lab")
            txbLabPlace.Text = myDS.Tables(0).Rows(0)("LabPlace")
            txbCertDate.Text = myDS.Tables(0).Rows(0)("CertDate")
            ckbROHS.Checked = myDS.Tables(0).Rows(0)("ROHS")
            ckbCE.Checked = myDS.Tables(0).Rows(0)("CE")
            ckbLVD.Checked = myDS.Tables(0).Rows(0)("LVD")
            ckbEMC.Checked = myDS.Tables(0).Rows(0)("EMC")
            txbMOQ.Text = myDS.Tables(0).Rows(0)("MinQty")
            txbProdQty.Text = myDS.Tables(0).Rows(0)("MinProd")
            txbLead.Text = myDS.Tables(0).Rows(0)("LeadTime")
            ddlInco.SelectedItem.Text = myDS.Tables(0).Rows(0)("Incoterm")
            ddlInco.SelectedItem.Value = myDS.Tables(0).Rows(0)("Incoterm")
            ddlPOL.SelectedItem.Text = myDS.Tables(0).Rows(0)("IncoPlace")
            ddlPOL.SelectedItem.Value = myDS.Tables(0).Rows(0)("IncoPlace")
            ddlCur.SelectedItem.Text = myDS.Tables(0).Rows(0)("Cur")
            ddlCur.SelectedItem.Value = myDS.Tables(0).Rows(0)("Cur")
            myConn.Close()

            Call PortLabel()

        Catch objError As Exception
            ErrorMsg.InnerHtml = "Error accessing database.<br />" _
            & objError.Message & "<br />" & objError.Source
            Exit Sub
        End Try
    End Sub
    'CHANGE THE OPTION GROUP OF INCOTERMS
    Sub ChangeInco(ByVal sender As System.Object, ByVal e As EventArgs) Handles ddlInco.SelectedIndexChanged
        Call PortLabel()
    End Sub

    Sub PortLabel()
        Select Case ddlInco.SelectedItem.Value
            Case "EXW"
                lblPort.Text = "Port of Loading"
            Case "FCA"
                lblPort.Text = "Port of Loading"
            Case "FOB"
                lblPort.Text = "Port of Loading"
            Case "CIF"
                lblPort.Text = "Port of discharge"
            Case "DDU"
                lblPort.Text = "Port of discharge"
            Case "DDP"
                lblPort.Text = "Port of discharge"
        End Select
    End Sub

    Public Function FormatURL(ByVal strArgument As String) As String
        Return ("../ImgDataProd.aspx?ProdID=" & strArgument)
    End Function

    Sub FillSup()
        Dim myConn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString)
        Dim myCommand As SqlCommand = New SqlCommand("GetSupplier", myConn)
        myCommand.CommandText = "GetSupplier"
        myCommand.CommandType = CommandType.StoredProcedure
        Using myConn
            myConn.Open()
            Dim DRSup As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
            ddlSup.DataSource = DRSup
            ddlSup.DataValueField = "CompanyCode"
            ddlSup.DataTextField = "CompanyName"
            ddlSup.DataBind()
        End Using
    End Sub

    Sub FillCat()
        Dim myConn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString)
        Dim myCommand As SqlCommand = New SqlCommand("GetCat", myConn)
        myCommand.CommandText = "GetCat"
        myCommand.CommandType = CommandType.StoredProcedure
        Using myConn
            myConn.Open()
            Dim DRCat As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
            ddlCat.DataSource = DRCat
            ddlCat.DataValueField = "NodeId"
            ddlCat.DataTextField = "Category"
            ddlCat.DataBind()
        End Using
    End Sub

    Sub BackTo(ByVal sender As Object, ByVal e As EventArgs) Handles btnReturn.Click
        Response.Redirect("ProductsByCat.aspx?ProdID=" & Session("CatID"))
    End Sub

    Sub Delete(ByVal sender As System.Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btnDel.Click
        Dim myConn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString)
        Dim myCommand As SqlCommand = New SqlCommand("DeleteProduct", myConn)
        myCommand.CommandText = "DeleteProduct"
        myCommand.CommandType = CommandType.StoredProcedure

        myCommand.Parameters.Add("@ProdID", SqlDbType.Int).Value = CStr(Request.QueryString("ProdID"))
        myCommand.Parameters.Add("RETURN_VALUE", SqlDbType.Int).Direction = ParameterDirection.ReturnValue
        Dim intResult As Integer
        Try
            myConn.Open()
            myCommand.ExecuteNonQuery()
            intResult = myCommand.Parameters("RETURN_VALUE").Value
            myConn.Close()
        Catch objError As Exception
            MsgInfo.InnerHtml = "<b>* Error while updating original data</b>.<br />" _
            & objError.Message & "<br />" & objError.Source
            Exit Sub
        End Try
        If intResult = 1 Then
            MsgInfo.InnerHtml = "Product has been removed from the database!"
        Else
            MsgInfo.InnerHtml = "Error in deleting product!"
        End If
    End Sub

   End Class


Posted: 9/5/2010

Lurker 30  points  Lurker
  • Joined on: 4/25/2010
  • Posts: 6

Dear Hajan,

Was my code helping to find how to rebind the UC2?

Thanks.


Posted: 9/8/2010

Professional 8505  points  Professional
  • Joined on: 5/3/2010
  • Posts: 391
  Answered

Dear Mr. Pascal,

Sorry for the delay of my response. I was quite busy.

However, here I am :).

Well, first of all, I would like to propose you to try my example on a blank new AJAX-Enabled ASPX page. This will show you how it works and the concept I've used.

Add two gridViews in a two user controls, add SqlDataSources (or other data source control) in the Web User Controls too and bind the GridViews.

Next, add the Web User Controls in the main ASPX page. Actually, this is the code that I've posted to you.

Try it and see how it works.

I couldn't try your code because there are some third-party components you use which I don't have in my own machine.

If you can't find solution yet, we will try with another workaround, or probably I will need to supply all the third-party components you use in order to test the scenario on my own machine.

Thank you,
Hajan


Posted: 9/8/2010

Lurker 30  points  Lurker
  • Joined on: 4/25/2010
  • Posts: 6

Dear Hajan,

Thanks for your rply, I'll try as recommanded and let you know my findings.

Best regards,

Pascal


Posted: 10/8/2010

Professional 8505  points  Professional
  • Joined on: 5/3/2010
  • Posts: 391
Any updates here?
Page 1 of 1 (11 items)