首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Dropdownlist Datasource by LINQ查询

Dropdownlist Datasource by LINQ查询
EN

Stack Overflow用户
提问于 2013-09-08 00:25:39
回答 3查看 7.9K关注 0票数 0

我不知道为什么当ddlMedicalName的值改变时,ddlCity不会被填充。我只是尝试构建函数"ddlMedicalName_SelectedIndexChanged“,以便如果有人从下拉列表ddlMedicalName中选择任何一个MedicalName,则应根据ddlMedicalName的选择值填充另一个下拉列表"ddlCity”数据源。

代码隐藏:

代码语言:javascript
复制
  protected void ddlMedicalName_OnSelectedIndexChanged(object sender, EventArgs e)
    {
        //string entityString = ConfigurationManager.ConnectionStrings["medicaldb2Entities"].ConnectionString;
        //EntityDataSource eds = new EntityDataSource();
        using (Entity.medicaldbEntities context = new Entity.medicaldbEntities())
        {
            string selected = ddlMedicalName.SelectedItem.Value;
            int slct = Convert.ToInt32(selected);

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

            var lstSrc = orders.ToList();

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

            ddlCity.DataBind();
        }

    }

ASPX:

代码语言:javascript
复制
<tr id="SearchDropDown">

 <asp:EntityDataSource ID="EntityDataSource1" runat="server" 
    ConnectionString="name=medicaldbEntities"  
    DefaultContainerName="medicaldbEntities" EnableFlattening="False" 
    EntitySetName="Medicals" Select="it.[medicalName],it.[CityFK]">
 </asp:EntityDataSource>

<td>
<asp:DropDownList ID="ddlMedicalName" runat="server" AutoPostBack="false"
OnSelectedIndexChanged="ddlMedicalName_OnSelectedIndexChanged"
    DataSourceID="EntityDataSource1" DataTextField="MedicalName"
    DataValueField="CityFK">
</asp:DropDownList>
</td>
<td>
<asp:DropDownList ID="ddlRegion" runat="server" AutoPostBack="true"
OnSelectedIndexChanged="ddlRegion_SelectedIndexChanged"
    DataSourceID="EntityDataSource1" DataTextField="MedicalName" 
    DataValueField="MedicalName">
</asp:DropDownList>
</td>
<td>
<asp:DropDownList ID="ddlCity" runat="server" AutoPostBack="false"
OnSelectedIndexChanged="ddlCity_SelectedIndexChanged"
     DataTextField="CityID" 
    DataValueField="CityID">
</asp:DropDownList>
</td>
<td>
<asp:Button ID="SearchButton" runat="server" Text="Suche" onclick="SearchButton_Click" />
</td>
</tr>

这就是我得到的错误:

如果我将其更改为:

代码语言:javascript
复制
List<string> lstSrc = orders.ToList();

它不会抛出任何错误,但也不能工作(未填充ddlCity)。

EN

Stack Overflow用户

发布于 2014-03-21 17:39:38

我的问题非常具体;在master.site的main form标签上有一个警告。表单的结束标记已经存在,但由于一些不允许的控件或标记,它没有被检测到,也没有呈现,这导致了奇怪的下拉列表问题的原因。然后我编辑了我的html和main form标签,摆脱了"Form1没有结束标签“的警告,一切都恢复正常了。

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18675406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档