Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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# DropDownList OnSelectedIndexChanged未触发_C#_Asp.net - Fatal编程技术网

C# DropDownList OnSelectedIndexChanged未触发

C# DropDownList OnSelectedIndexChanged未触发,c#,asp.net,C#,Asp.net,我的主要目的是,根据ddlMedicalName选择填充ddlCity DropDownList。但我的主要问题是,尽管我尝试了几乎所有的解决方案,但我还是无法让它改变 我知道,关于这个问题有很多问题和答案,我已经尝试过almos的每一个问题,但仍然不起作用。我已经了解到EnableStateView=True不仅应该应用于DropDownList,还应该应用于整个页面,因此我在Web.Config中添加了以下代码: <system.web> <pages styleShee

我的主要目的是,根据ddlMedicalName选择填充ddlCity DropDownList。但我的主要问题是,尽管我尝试了几乎所有的解决方案,但我还是无法让它改变

我知道,关于这个问题有很多问题和答案,我已经尝试过almos的每一个问题,但仍然不起作用。我已经了解到EnableStateView=True不仅应该应用于DropDownList,还应该应用于整个页面,因此我在Web.Config中添加了以下代码:

 <system.web>
<pages styleSheetTheme="MainTheme" enableViewState="true"/>
这里是aspx:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="MedizinischeLeistungen.aspx.cs" Inherits="MedicalBootStrap.WebForm1" EnableViewState="true" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server" EnableViewState="true">
<table id="SearchTable">
<tr>
<td>Medizinische Leistung</td>
<td>Region</td>
<td>Stadt</td>
</tr>
<tr id="SearchDropDown">

<td>
    <asp:DropDownList ID="ddlMedicalName" runat="server" EnableViewState="true" 
        AutoPostBack="True"  AppendDataBoundItems="true"
    OnSelectedIndexChanged="ddlMedicalName_OnSelectedIndexChanged">
    <asp:ListItem Value="" Selected="True"> - Product - </asp:ListItem>
    </asp:DropDownList>
</td>

<td>
    <asp:DropDownList ID="ddlRegion" runat="server" AutoPostBack="true" EnableViewState="true"
onselectedindexchanged="ddlRegion_SelectedIndexChanged">
<asp:ListItem Value="" Selected="True"> - Product - </asp:ListItem>
    </asp:DropDownList>
</td>
<td>
    <asp:DropDownList ID="ddlCity" runat="server" AutoPostBack="true" EnableViewState="true"
onselectedindexchanged="ddlCity_SelectedIndexChanged">
<asp:ListItem Value="" Selected="True"> - Product - </asp:ListItem>
    </asp:DropDownList>
</td>
<td>
    <asp:Button ID="SearchButton" runat="server" Text="Suche" onclick="SearchButton_Click" />

</td>
</tr>
</table>




</asp:Content>

梅迪齐尼什雷东酒店
区域
斯塔特
-产品-
-产品-
-产品-
如有任何帮助,将不胜感激更改:

protected void ddlMedicalName_OnSelectedIndexChanged(object sender, EventArgs e)
{
致:

或者相反:

<asp:DropDownList ID="ddlCity" runat="server" AutoPostBack="true" EnableViewState="true" onselectedindexchanged="ddlCity_SelectedIndexChanged">

致:


您当前指向名为“…\u SelectedIndexChanged”的句柄,并提供“…\u OnSelectedIndexChanged”。

更改:

protected void ddlMedicalName_OnSelectedIndexChanged(object sender, EventArgs e)
{
致:

或者相反:

<asp:DropDownList ID="ddlCity" runat="server" AutoPostBack="true" EnableViewState="true" onselectedindexchanged="ddlCity_SelectedIndexChanged">

致:



您当前指向名为“…\u SelectedIndexChanged”的句柄,并提供“…\u OnSelectedIndexChanged”。

我测试了您的代码。以下是我目前发现的-

ddlMedicalName\u OnSelectedIndexChanged事件已正确触发

ddlMedicalName.SelectedValue是一个字符串值字符串不是ddlCity的有效数据源。数据源

protected void ddlMedicalName_OnSelectedIndexChanged(object sender, EventArgs e)
{
    // Problem is the following 3 line of codes.
    ddlCity.DataSource = ddlMedicalName.SelectedValue; 
    ddlCity.DataTextField = ddlMedicalName.SelectedValue;
    ddlCity.DataValueField = ddlMedicalName.SelectedValue;

    ddlCity.DataBind();
}
更新: 以下是我如何测试-

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        ddlBind();
    }
}

public class Medical
{
    public int MedicalID { get; set; }
    public string MedicalName { get; set; }
    public int CityFK { get; set; }
}

public class City
{
    public int CityID { get; set; }
    public string CityName { get; set; }
}

protected void ddlBind()
{
    var medicals = new List<Medical>()
    {
        new Medical {MedicalID = 1, MedicalName = "One", CityFK = 11},
        new Medical {MedicalID = 2, MedicalName = "Two", CityFK = 22},
        new Medical {MedicalID = 3, MedicalName = "Three", CityFK = 33},
        new Medical {MedicalID = 4, MedicalName = "Four", CityFK = 44},
    };

    ddlMedicalName.DataSource = medicals;
    ddlMedicalName.DataTextField = "medicalname";
    ddlMedicalName.DataValueField = "cityfk";

    ddlMedicalName.DataBind();

}

protected void ddlMedicalName_OnSelectedIndexChanged(object sender, EventArgs e)
{
    var cities = new List<City>()
    {
        new City {CityID = 11, CityName = "City One"},
        new City {CityID = 22, CityName = "City Two"},
        new City {CityID = 33, CityName = "City Three"},
        new City {CityID = 44, CityName = "City Four"},
    };

    int slc = Convert.ToInt32(ddlMedicalName.SelectedItem.Value);

    var orders = from order in cities
                    where order.CityID == slc
                    select new { order.CityID, order.CityName };

    var lstsrc = orders.ToList();

    ddlCity.DataSource = lstsrc;
    ddlCity.DataTextField = "CityName";
    ddlCity.DataValueField = "CityID";

    ddlCity.DataBind();
}

protected void ddlRegion_SelectedIndexChanged(object sender, EventArgs e)
{

}

protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)
{

}

protected void SearchButton_Click(object sender, EventArgs e)
{

}
受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!Page.IsPostBack)
{
ddlBind();
}
}
公营医疗
{
公共整数{get;set;}
公共字符串MedicalName{get;set;}
public int CityFK{get;set;}
}
公营城市
{
public int CityID{get;set;}
公共字符串CityName{get;set;}
}
受保护的void ddlBind()
{
var medicals=新列表()
{
新医学{MedicalID=1,MedicalName=“一”,CityFK=11},
新医学{MedicalID=2,MedicalName=“2”,CityFK=22},
新医学{MedicalID=3,MedicalName=“三”,CityFK=33},
新医学{MedicalID=4,MedicalName=“Four”,CityFK=44},
};
ddlMedicalName.DataSource=medicals;
ddlMedicalName.DataTextField=“medicalname”;
ddlMedicalName.DataValueField=“cityfk”;
ddlMedicalName.DataBind();
}
受保护的无效ddlMedicalName_OnSelectedIndexChanged(对象发送方,事件参数e)
{
var cities=新列表()
{
新城{CityID=11,CityName=“城市一号”},
新城{CityID=22,CityName=“City Two”},
新城{CityID=33,CityName=“城市三号”},
新城{CityID=44,CityName=“City Four”},
};
int slc=Convert.ToInt32(ddlMedicalName.SelectedItem.Value);
var订单=来自城市的订单
其中order.CityID==slc
选择新的{order.CityID,order.CityName};
var lstsrc=orders.ToList();
ddlCity.DataSource=lstsrc;
ddlCity.DataTextField=“CityName”;
ddlCity.DataValueField=“CityID”;
ddlCity.DataBind();
}
受保护的无效DDL区域\u SelectedIndexChanged(对象发送方,事件参数e)
{
}
受保护的void ddlCity\u SelectedIndexChanged(对象发送方,事件参数e)
{
}
受保护的无效搜索按钮\u单击(对象发送者,事件参数e)
{
}

我测试了你的代码。以下是我目前发现的-

ddlMedicalName\u OnSelectedIndexChanged事件已正确触发

ddlMedicalName.SelectedValue是一个字符串值字符串不是ddlCity的有效数据源。数据源

protected void ddlMedicalName_OnSelectedIndexChanged(object sender, EventArgs e)
{
    // Problem is the following 3 line of codes.
    ddlCity.DataSource = ddlMedicalName.SelectedValue; 
    ddlCity.DataTextField = ddlMedicalName.SelectedValue;
    ddlCity.DataValueField = ddlMedicalName.SelectedValue;

    ddlCity.DataBind();
}
更新: 以下是我如何测试-

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        ddlBind();
    }
}

public class Medical
{
    public int MedicalID { get; set; }
    public string MedicalName { get; set; }
    public int CityFK { get; set; }
}

public class City
{
    public int CityID { get; set; }
    public string CityName { get; set; }
}

protected void ddlBind()
{
    var medicals = new List<Medical>()
    {
        new Medical {MedicalID = 1, MedicalName = "One", CityFK = 11},
        new Medical {MedicalID = 2, MedicalName = "Two", CityFK = 22},
        new Medical {MedicalID = 3, MedicalName = "Three", CityFK = 33},
        new Medical {MedicalID = 4, MedicalName = "Four", CityFK = 44},
    };

    ddlMedicalName.DataSource = medicals;
    ddlMedicalName.DataTextField = "medicalname";
    ddlMedicalName.DataValueField = "cityfk";

    ddlMedicalName.DataBind();

}

protected void ddlMedicalName_OnSelectedIndexChanged(object sender, EventArgs e)
{
    var cities = new List<City>()
    {
        new City {CityID = 11, CityName = "City One"},
        new City {CityID = 22, CityName = "City Two"},
        new City {CityID = 33, CityName = "City Three"},
        new City {CityID = 44, CityName = "City Four"},
    };

    int slc = Convert.ToInt32(ddlMedicalName.SelectedItem.Value);

    var orders = from order in cities
                    where order.CityID == slc
                    select new { order.CityID, order.CityName };

    var lstsrc = orders.ToList();

    ddlCity.DataSource = lstsrc;
    ddlCity.DataTextField = "CityName";
    ddlCity.DataValueField = "CityID";

    ddlCity.DataBind();
}

protected void ddlRegion_SelectedIndexChanged(object sender, EventArgs e)
{

}

protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)
{

}

protected void SearchButton_Click(object sender, EventArgs e)
{

}
受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!Page.IsPostBack)
{
ddlBind();
}
}
公营医疗
{
公共整数{get;set;}
公共字符串MedicalName{get;set;}
public int CityFK{get;set;}
}
公营城市
{
public int CityID{get;set;}
公共字符串CityName{get;set;}
}
受保护的void ddlBind()
{
var medicals=新列表()
{
新医学{MedicalID=1,MedicalName=“一”,CityFK=11},
新医学{MedicalID=2,MedicalName=“2”,CityFK=22},
新医学{MedicalID=3,MedicalName=“三”,CityFK=33},
新医学{MedicalID=4,MedicalName=“Four”,CityFK=44},
};
ddlMedicalName.DataSource=medicals;
ddlMedicalName.DataTextField=“medicalname”;
ddlMedicalName.DataValueField=“cityfk”;
ddlMedicalName.DataBind();
}
受保护的无效ddlMedicalName_OnSelectedIndexChanged(对象发送方,事件参数e)
{
var cities=新列表()
{
新城{CityID=11,CityName=“城市一号”},
新城{CityID=22,CityName=“City Two”},
新城{CityID=33,CityName=“城市三号”},
新城{CityID=44,CityName=“City Four”},
};
int slc=Convert.ToInt32(ddlMedicalName.SelectedItem.Value);
var订单=来自城市的订单
其中order.CityID==slc
选择新的{order.CityID,order.CityName};
var lstsrc=orders.ToList();
ddlCity.DataSource=lstsrc;
ddlCity.DataTextField=“CityName”;
ddlCity.DataValueField=“CityID”;
ddlCity.DataBind();
}
受保护的无效DDL区域\u SelectedIndexChanged(对象发送方,事件参数e)
{
}
受保护的void ddlCity\u SelectedIndexChanged(对象发送方,事件参数e)
{
}
受保护的无效搜索按钮\u单击(对象发送者,事件参数e)
{
}

请根据我的建议进行更改并尝试。您必须删除下面的行

ddlMedicalName.DataValueField = "cityfk";

将cityfk更改为medicalname,然后重试

ddlMedicalName.DataValueField = "medicalname";

请根据我的建议更改并尝试。您必须删除下面的行

ddlMedicalName.DataValueField = "cityfk";

将cityfk更改为medicalname,然后重试

ddlMedicalName.DataValueField = "medicalname";

其他下拉菜单是否触发了事件?您