Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# asp。net在更改dropdownlist时使用javascript填充dropdownlist_C#_Javascript_Asp.net_Dictionary_Html Select - Fatal编程技术网

C# asp。net在更改dropdownlist时使用javascript填充dropdownlist

C# asp。net在更改dropdownlist时使用javascript填充dropdownlist,c#,javascript,asp.net,dictionary,html-select,C#,Javascript,Asp.net,Dictionary,Html Select,您好,我正在使用asp.net和javascript,我想在DropDownList 1更改时用列表填充DropDownList 2 public Dictionary<string, List<string>> dict = new Dictionary<string, List<string>>(); DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.

您好,我正在使用asp.net和javascript,我想在DropDownList 1更改时用列表填充DropDownList 2

public Dictionary<string, List<string>> dict = new Dictionary<string, List<string>>();

    DataTable dt = new DataTable();
    dt.Columns.Add("Name");
    dt.Columns.Add("Type");

    foreach (DataDefinitionResponse dr in _dr)
    {
        if (dr.Type != "Group" && dr.Type != "File")
        {
            DataRow row = dt.NewRow();
            row["Name"] = dr.Name;
            row["Type"] = dr.Type;
            dt.Rows.Add(row);

            if (dr.Type == "Dropdown")
            {
                string[] strSplit = dr.ListValue.Split('|');
                List<string> lst = new List<string>();

                foreach (string word in strSplit)
                {
                    lst.Add(word);
                }
                dict.Add(dr.Name, lst);
            }
        }
    }
    ddlFieldName.DataSource = dt;
    ddlFieldName.DataTextField = "Name";
    ddlFieldName.DataValueField = "Type";
    ddlFieldName.DataBind();
    ddlFieldName.ClearSelection();
public Dictionary dict=new Dictionary();
DataTable dt=新的DataTable();
dt.列。添加(“名称”);
dt.列。添加(“类型”);
foreach(数据定义响应dr in_dr)
{
if(dr.Type!=“组”&&dr.Type!=“文件”)
{
DataRow row=dt.NewRow();
行[“名称”]=医生姓名;
行[“类型”]=博士类型;
dt.行。添加(行);
如果(dr.Type==“下拉列表”)
{
字符串[]strSplit=dr.ListValue.Split(“|”);
List lst=新列表();
foreach(strSplit中的字符串字)
{
1.添加(单词);
}
dict.Add(博士姓名,lst);
}
}
}
ddlFieldName.DataSource=dt;
ddlFieldName.DataTextField=“Name”;
ddlFieldName.DataValueField=“Type”;
ddlFieldName.DataBind();
ddlFieldName.ClearSelection();
上面是我填充第一个dropdownlist w/c is ddlFieldName的代码。如您所见,我使用字典和声明全局。现在我需要使用javascript填充第二个dropdownlist

有人能帮我吗


Thx.

当DropDownList 1被更改时,使用以下脚本获取所选元素

<script type="text/javascript">
$jq14(document).ready(function () {
$jq14("#Dropdownlist1").change(function (e) {
window.location = "@Url.Content("~/Controller/ActionMethod/?id=")" + $jq14(this).val();
});
});
</script>

$jq14(文件).准备就绪(功能(){
$jq14(“#Dropdownlist1”)。更改(功能(e){
window.location=“@Url.Content”(“~/Controller/ActionMethod/?id=”)”+$jq14(this.val();
});
});
然后在控制器动作方法中接收该值并将其放入ViewBag对象中,如 ViewBag=id;
最后,在您的视图中,在DropDownList 2中获取ViewBag值,作为循环或列表填充的种子

如果您使用的是ASP.Net MVC,那么这是有效的。实际上,当发生更改事件时,您必须从dropdownlist1中获取所选的值,一旦获取该值,例如,当从dropdownlist1中选择国家时,dropdownlist1包含国家,您必须显示该国家的状态,以便调用控制器方法并传递该值(所选国家)。在您的控制器上,您可以获得该国家并找到其州列表,然后将其返回到您的视图中。在您的视图中,使用控制器返回的数据填充第二个下拉列表。