This is a migrated thread and some comments may be shown as answers.

[Solved] RadComboBox list no longer visible after postback.

1 Answer 166 Views
ComboBox
This is a migrated thread and some comments may be shown as answers.
Maxim
Top achievements
Rank 1
Maxim asked on 23 Apr 2008, 06:01 PM
I have an issue with RadComboBox. After postback the drop down list no longer visible. The postback is redirected to a new window. I know it worked in previous version but it does not work in new version.
Thank you.

ASP CODE

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
 
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"
<head runat="server"
    <title>Untitled Page</title> 
</head> 
<body> 
    <form id="form1" runat="server"
        <telerik:RadScriptManager ID="RadScriptManager1" runat="server"
        </telerik:RadScriptManager> 
        <telerik:RadStyleSheetManager ID="RadStyleSheetManager1" runat="server"
        </telerik:RadStyleSheetManager> 
        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"
        </telerik:RadAjaxManager> 
        <div> 
            <telerik:RadComboBox ID="cmbState" runat="server" CausesValidation="True" Height="140px" 
                MarkFirstMatch="True" Skin="Vista" ToolTip="Select a State" Width="150px"
                <Items> 
                    <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem1" /> 
                    <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem2" /> 
                    <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem3" /> 
                    <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem4" /> 
                </Items> 
                <CollapseAnimation Duration="200" Type="OutQuint" /> 
                <ExpandAnimation Type="OutQuart" /> 
            </telerik:RadComboBox> 
            <asp:Button ID="Button1" runat="server" PostBackUrl="~/Default2.aspx" Text="Button" 
                UseSubmitBehavior="False" /> 
        </div> 
    </form> 
</body> 
</html> 


Code:
using System; 
using System.Data; 
using System.Configuration; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
using System.Text; 
 
public partial class _Default : System.Web.UI.Page  
    protected void Page_Load(object sender, EventArgs e) 
    { 
        if (!IsPostBack) 
        { 
            //Form.Target = "_blank"; 
        } 
    } 
 
    protected void Page_PreRender(object sender, EventArgs e) 
    { 
        RegisterResetPostback(Button1); 
    } 
 
    static PostBackOptions GetPostBackOptions(Button button) 
    { 
        PostBackOptions options = new PostBackOptions(button, string.Empty); 
        options.ClientSubmit = false
        if (button.Page != null
        { 
            if (button.CausesValidation && (button.Page.GetValidators(button.ValidationGroup).Count > 0)) 
            { 
                options.PerformValidation = true
                options.ValidationGroup = button.ValidationGroup; 
            } 
            if (!string.IsNullOrEmpty(button.PostBackUrl)) 
            { 
                options.ActionUrl = HttpUtility.UrlPathEncode(button.ResolveClientUrl(button.PostBackUrl)); 
            } 
            options.ClientSubmit = !button.UseSubmitBehavior; 
        } 
        return options; 
    } 
 
    static void RegisterResetPostback(Button button) 
    { 
        if (button == null || button.Page == null
        { 
            return
        } 
 
        string postBackEventReference = button.Page.ClientScript.GetPostBackEventReference(GetPostBackOptions(button), false); 
        if (postBackEventReference != null
        { 
            if (!postBackEventReference.EndsWith(";")) 
            { postBackEventReference += ";"; } 
            button.OnClientClick = string.Format("return {0}_OnPostBack(this);", button.UniqueID); 
            if (!button.Page.ClientScript.IsStartupScriptRegistered(button.GetType(), button.UniqueID)) 
            { 
                StringBuilder buffer = new StringBuilder(2000); 
                buffer.AppendLine(); 
                buffer.AppendLine("\tfunction " + button.UniqueID + "_OnPostBack(sender) {"); 
                buffer.AppendLine("\t\tif(sender!=null && sender.form !=null) {"); 
                buffer.AppendLine("\t\t\tvar action = sender.form.action;"); 
                buffer.AppendLine("\t\t\tvar target = sender.form.target;"); 
                buffer.AppendLine("\t\t\tsender.form.target = \"_blank\";"); 
                buffer.AppendLine("\t\t\t"); 
                buffer.AppendLine("\t\t\t" + postBackEventReference); 
                buffer.AppendLine("\t\t\t"); 
                buffer.AppendLine("\t\t\tsender.form.action=action;"); 
                buffer.AppendLine("\t\t\tsender.form.target=target;"); 
                buffer.AppendLine("\t\t}"); 
                buffer.AppendLine("\t\treturn true;"); 
                buffer.AppendLine("\t}"); 
                buffer.AppendLine(); 
                button.Page.ClientScript.RegisterStartupScript(button.GetType(), button.UniqueID, buffer.ToString(), true); 
            } 
        } 
    } 




1 Answer, 1 is accepted

Sort by
0
Rosi
Telerik team
answered on 25 Apr 2008, 10:15 AM
Hello Maxim Konstantinovski,

Please find attached project illustrating that everything worked as expected at our side. Download it and test it. If this does not help you, please send us a simple running project illustrating the problem to test it locally.

Regards,
Rosi
the Telerik team

Instantly find answers to your questions at the new Telerik Support Center
Tags
ComboBox
Asked by
Maxim
Top achievements
Rank 1
Answers by
Rosi
Telerik team
Share this question
or