Solved

Trying to Cause Full Page Post Back From Update Panel

Posted on 2012-04-04
4
748 Views
Last Modified: 2012-04-06
I have a .aspx page that is dense to say the least. In it there is a modal popup and within that I have an update panel.(The modal may not matter here but I thought it best to mention it.) Within the update panel I have a place where the user will enter some search criteria and the results from the search are displayed in a gridview control. Within each row of the gridview control there is a checkbox for the user to select a particular record.

Upon doing so, the OnCheckedChanged event of the checkbox runs and  it tries to take text from one of the cells  (its a driver name) of the selected row and bind it to a label. This labe is outside both the update panel and the modalpopup.

So what I need I'm pretty sure is this to do is a full page postback when the  OnCheckedChanged event fires so the label outside  can display the selected rows cell text.
The code I have below almost works...(ugh!!!) It does not do the post back on checking a record. However, it seems that when I  go back into the search and uncheck a record, the full postback happens and the labels text is correctly bound. Very weird.

Any direction on what I not understanding and how to fix this is most appreciated. Code is below.
Jason
    protected void chbxselect_OnCheckedChanged(Object sender, EventArgs e)
    {
        CheckBox chbx = (CheckBox)sender;
       
        
        if (chbx.Checked == true)
        {
            GridViewRow row = (GridViewRow)chbx.NamingContainer;
            string drivername = row.Cells[1].Text;
            lblDriverName.Text = drivername;
         
             
            mpedrvsearch.Hide();
            ScriptManager scriptManager = ScriptManager.GetCurrent(Page);

            if (scriptManager != null)
            {

                scriptManager.RegisterPostBackControl(chbx);

            }





        }

    }

Open in new window

0
Comment
Question by:jazzcatone
  • 2
4 Comments
 
LVL 25

Accepted Solution

by:
Rouchie earned 500 total points
ID: 37807131
Take a look at this:

http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.registerpostbackcontrol.aspx

You'll want to apply it initally on page_load, then every time the panel containing the checkbox is updated.
0
 

Expert Comment

by:ramgunti
ID: 37807285
Dear friend ,

Use below code in .aspx
--------------------------------------
<Asp:updatepanel id="uplsearch1" runat="server" update="conditional">
<contentpanel>
<asp:gridview>

your code

</aspGridview>

</contentpanel>
</updatepanel >

<Asp:updatepanel id="uplsearch2" runat="server" update="conditional">
<contentpanel>

your lable

</contentpanel>
<trigger>
<asp:AsyncPostBackTrigger ControlID="gridview1"/>


</trigger>
</updatepanel >

Use below code in .cs
--------------------------------------

 protected void chbxselect_OnCheckedChanged(Object sender, EventArgs e)
    {
        CheckBox chbx = (CheckBox)sender;
       
       
        if (chbx.Checked == true)
        {
            GridViewRow row = (GridViewRow)chbx.NamingContainer;
            string drivername = row.Cells[1].Text;
            lblDriverName.Text = drivername;
         
             
            mpedrvsearch.Hide();
            ScriptManager scriptManager = ScriptManager.GetCurrent(Page);

            if (scriptManager != null)
            {

                scriptManager.RegisterPostBackControl(chbx);

            }





        }
else
        {
            GridViewRow row = (GridViewRow)chbx.NamingContainer;
            string drivername = row.Cells[1].Text;
            lblDriverName.Text = drivername;
         if( lblDriverName.Text .contains(drivername))
{
 lblDriverName.Text .replace(drivername,'' ")
}
             
            mpedrvsearch.Hide();
            ScriptManager scriptManager = ScriptManager.GetCurrent(Page);

            if (scriptManager != null)
            {

                scriptManager.RegisterPostBackControl(chbx);

            }
}
0
 
LVL 25

Expert Comment

by:Rouchie
ID: 37807428
You will HAVE to use scriptManager.RegisterPostBackControl(chbx); on Page_Load otherwise it will never cause a full page postback on the first click!
0
 

Author Comment

by:jazzcatone
ID: 37808891
ramgunti,
    Unfortunately I have paging on my gridview. So when I click on a page it causes a full postback.
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
WKHTMLTOPDF - --disable-smart-shrinking not working 10 37
Runtime Error 2 29
Connection String 16 43
Error in script 11 48
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now