1

私の主な目的は、ddlMedicalName の選択に従って ddlCity DropDownList を設定することです。しかし、私の主な問題は、その問題に対するほとんどすべての解決策を試しても、 ddlMedicalName_OnSelectedIndexChanged を起動できなかったことです。

私は、その問題について多くの質問と回答があることを知っています。私はそれらすべてを試してみましたが、それでもうまくいきません。EnableStateView=True を DropDownList だけでなくページ全体にも適用する必要があることを読んだので、次のコードを Web.Config に追加しました。

 <system.web>
<pages styleSheetTheme="MainTheme" enableViewState="true"/>

そして、ここに私のコードビハインドがあります:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;



namespace MedicalBootStrap
{

public partial class WebForm1 : System.Web.UI.Page
{
    Entity.medicaldbEntities context = new Entity.medicaldbEntities();

    protected void Page_Load(object sender, EventArgs e)
    {

        if (!Page.IsPostBack)
        {
            ddlBind();
        }

    }

    protected void ddlBind()
    {

        var orders = from order in context.Medicals

                     select new { order.MedicalID, order.medicalName, order.CityFK };

        var lstsrc = orders.ToList();

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

        ddlMedicalName.DataBind();

    }

    protected void ddlMedicalName_OnSelectedIndexChanged(object sender, EventArgs e)
    {

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

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

        var lstsrc = orders.ToList();

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

        ddlMedicalName.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)
    {

    }   
 }
}

そしてここに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>

どんな助けでもいただければ幸いです

4

3 に答える 3