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
Code:
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); |
| } |
| } |
| } |
| } |