C# 如何显示下拉列表?
我想从我的数据库中加载一个包含可能的paise的DropDownListC# 如何显示下拉列表?,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,我想从我的数据库中加载一个包含可能的paise的DropDownList using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Backend; using Backend.Models; namespace Frontend_UI_Web.Administr
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Backend;
using Backend.Models;
namespace Frontend_UI_Web.Administrativos
{
public partial class Ciudad : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
PaisRepository paisRepo = new PaisRepository();
LoadPaises(paisRepo);
CiudadRepository ciudadRepo = new CiudadRepository();
}
private void LoadPaises(PaisRepository paisRepo)
{
//FindAll() returns a collection IQueryable<Pais>!
var Paises = paisRepo.FindAll().AsEnumerable();
uiddlPais.DataSource = Paises;
uiddlPais.DataBind();
}
protected void uibtnSubmit_Click(object sender, EventArgs e)
{
}
}
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
使用后端;
使用Backend.Models;
名称空间前端\u UI\u Web.adminivivos
{
公共部分类Ciudad:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
PaisRepository paisRepo=新PaisRepository();
载货台(paisRepo);
CiudadRepository ciudadRepo=新CiudadRepository();
}
专用空箱装载箱(PaisRepository paisRepo)
{
//FindAll()返回一个集合IQueryable!
var Paises=paisRepo.FindAll().AsEnumerable();
uiddlPais.DataSource=Paises;
uiddlPais.DataBind();
}
受保护的void uibtnSubmit\u单击(对象发送者,事件参数e)
{
}
}
}
有什么指导吗?如果我运行此代码,dropdownlist将加载5项,这是正确的,因为我有5对。但是名称显示不正确。设置DataTextField和DataValueField?听起来好像您忘记设置下拉列表的
DataValueField
和DataTextField
属性。那你就可以吃你的小甜点了 您需要设置DropDownList的DataTextField
和DataValueField
属性,以便它知道应该绑定到每个pai
对象的哪些属性
假设Pais
看起来像
class Pais
{
public int Id { get; set; }
public string Name { get; set; }
...
}
然后您需要
DataTextField=“Name”DataValueField=“Id”
您必须指定希望显示为文本和值字段的Paise类的哪些成员
类似这样的方法会奏效:
uiddlPais.DataSource = Paises;
uiddlPais.DataTextField = "Name";
uiddlPais.DataValueField = "Id";
uiddlPais.DataBind();
您需要设置dropdownlist的DataTextField和DataValueField属性
DataTextField显示给用户,DataValueField不显示。它在代码中工作。确保使用DataTextField
和DataValueField
属性定义了要将DropDownList
绑定到的属性
<asp:DropDownList ID="uiddlPais" runat="server"
DataTextField="TheFieldWithTheTextYouWantToDisplay"
DataValueField="TheFieldWithTheValueYouWantAttached" />
你能定义“Paise”吗?如果你在标签中包含“asp.net”,你的问题会得到回答者更多的关注。@BG100谷歌翻译说它是“国家”
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
PaisRepository paisRepo = new PaisRepository();
LoadPaises(paisRepo);
}
}