Why SelectedValue in radComboBox is empty when I set Enable is false and then post back page in asp.net?

1.6k Views Asked by At

Why SelectedValue in radComboBox is empty when I set Enable is false and then post back page in asp.net?

I have a radComboBox in my page that fill by Web Service method. in server side , When I set enable is false and is post back My page , I can not get selected value of radcombobox and selected Value is Empty. please help me...

code in MyPage.aspx

    <telerik:RadComboBox ID="radCmbOwnerList" runat="server"  EnableLoadOnDemand="true"
 EnableVirtualScrolling="true" MinFilterLength="3" Skin="WebBlue"   >
 <WebServiceSettings Method="GetUserList" Path="~/Services/WebService.asmx"></WebServiceSettings>
</telerik:RadComboBox>

in MyPage.cs

radCmbOwnerList.Enabled = false;

I do a post back .

Then in MyPage.cs , radCmbOwnerList.SelectedValue equals "" or string.empty

1

There are 1 best solutions below

9
On

Try this. based on your code explanation I think call to web service is not happening and dropdown not loaded in page load. Below is sample

      ----- aspx page ----
<Telerik:RadComboBox runat="server" ID="rad"
                 AutoPostBack="true" >
                <WebServiceSettings Method="HelloWorld" 
                    Path="WebService.asmx"  />
            </Telerik:RadComboBox>
            <asp:Button runat="server" ID="btn" Text="Click"  />
------- WebService code ---

Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Collections
Imports System.Collections.Generic
' To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
' <System.Web.Script.Services.ScriptService()> _
<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class WebService1
    Inherits System.Web.Services.WebService
    <WebMethod()> _
    Public Function HelloWorld() As List(Of test)
        Dim lst As New List(Of test)
        For i As Int16 = 0 To 10
            lst.Add(New test With {.text = "text" & i, .val = "val" & i})
        Next
        Return lst
    End Function
End Class
Public Class test
    Property text As String 
    Property val As String 
End Class
      ----- code behind page ----

Imports System
Imports Telerik.Web.UI
Imports System.Web
Imports System.Web.Services
Imports WebService1
Partial Class _Default
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
        If Not IsPostBack Then
            Dim ws As New WebService1
            rad.DataSource = ws.HelloWorld
            rad.DataTextField = "text"
            rad.DataValueField = "val"
            rad.DataBind()
        End If
    End Sub
    Protected Sub rad_SelectedIndexChanged(sender As Object, e As RadComboBoxSelectedIndexChangedEventArgs) Handles rad.SelectedIndexChanged
    End Sub
    Protected Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
        rad.Enabled = False
    End Sub
    <WebMethod()> _
    Public Shared Function isDuplicate() As String
        Return "Hello text"
    End Function
End Class