简体   繁体   English

选定的下拉列表值始终为零

[英]Selected Dropdownlist value is always zero

I've two dropdown list boxes, Company and Vendor , in my window.. I'm loading the second one, Vendor, based on the value of first one, Company, 我在窗口中有两个下拉列表框CompanyVendor 。根据第一个Company的值,我正在加载第二个Vendor的框。

ddlVendorContact.DataSource = Facade.GetAllCompanyContactsByCompanyId(CompanyId);
ddlVendorContact.DataTextField = "FirstName";
ddlVendorContact.DataValueField = "Id";
ddlVendorContact.DataBind();

Now I want to combine the box selected values. 现在,我想组合框选择的值。 So I wrote the following code. 所以我写了下面的代码。

Value = ddlCompany.SelectedValue + ddlVendorContact.SelectedValue;

But my problem is, when I'm selecting ddlCompany , that corresponding value is coming. 但是我的问题是,当我选择ddlCompany时,相应的值即将到来。 But for ddlVendorContact , always 0 is coming. 但是对于ddlVendorContact ,始终为0 I don't know the reason. 我不知道原因 Can anyone suggest me the solution? 谁能建议我解决方案?

I'm using two ajaxs to load both ddl values.. Now, after analysis more, I came to know that based on Vendor, Contact is loading thru Ajax.. 我正在使用两个Ajax加载两个ddl值。现在,经过更多分析,我知道基于供应商,Contact正在通过Ajax加载。

What I got now is, once ddlVendor ajax is executed, ddlVendorContact ajax is not executing.. 我现在得到的是,一旦执行了ddlVendorajax,则不会执行ddlVendorContact ajax。

ddlVendor.Attributes.Add("onChange", "return Company_OnChange('" + ddlVendor.ClientID + "','" + ddlVendorContact.ClientID + "','" + hdnSelectedVendorContact.ClientID + "','MemberID')");
ddlVendorContact.Attributes.Add("onChange", "return Contact_OnChange('" + ddlVendorContact.ClientID + "','" + hdnSelectedVendorContact.ClientID + "')");

Thanks & Regards, 感谢和问候,

Sakthi 沙吉

The below snippet of code is a working example. 下面的代码片段是一个有效的示例。 Hope this helps. 希望这可以帮助。

Partial Class _Default Inherits System.Web.UI.Page 局部类_Default继承System.Web.UI.Page

Sub BindList1()
    Dim a As New Dictionary(Of String, Int16)
    a.Add("sdsd", 1)
    a.Add("dfsd", 2)
    ddlList.DataSource = a
    ddlList.DataTextField = "key"
    ddlList.DataValueField = "value"
    ddlList.DataBind()
End Sub
Sub BindList2()
    If ddlList.SelectedValue = 1 Then
        Dim a As New Dictionary(Of String, Int16)
        a.Add("222", 1)
        a.Add("333", 2)
        ddlList2.DataSource = a

    Else
        Dim b As New Dictionary(Of String, Int16)
        b.Add("444", 1)
        b.Add("555", 2)
        ddlList2.DataSource = b

    End If
    ddlList2.DataBind()
End Sub

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    If Not IsPostBack Then
        BindList1()
        BindList2()
    End If

End Sub

Protected Sub ddlList_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles ddlList.SelectedIndexChanged

    BindList2()
End Sub

Protected Sub btnSubmit_Click(sender As Object, e As System.EventArgs) Handles btnSubmit.Click
    Dim value = ddlList.SelectedValue + ddlList2.SelectedValue
End Sub

End Class 末级

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM