在 asp.net 的下拉列表的数据源中获取其他值

Get other values in datasource of a dropdownlist in asp.net

我已将存储过程连接到 DropDownList

存储过程有 3 个值 RepID、RepName 和 RepRef

DropDownList 有 2 个值,分别是 DataTextField 和 DataValueField

我将 DataTextField 连接到 RepName 并将 DataValueField 连接到 RepID

我也想获得 RepRef

我该怎么做

这是我的代码

                conn.Open(); 
                SqlCommand cmd = new SqlCommand("mySP", conn);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                cmd.CommandType = CommandType.StoredProcedure;

                da.Fill(dt);
                if (dt.Rows.Count > 0)
                {
                    ddlReps.DataSource = dt;
                    ddlReps.DataTextField = "RepName";
                    ddlReps.DataValueField = "RepID";
                    ddlReps.DataBind();
                }

如果用户选择了名为 "Cities" 的报告,其 ID = 16

如何从那里获取 RepRef?

使用 LINQ 并按照您希望的格式在您的匿名类型上添加一个新的 属性:

var datasource = dt.Select(x=> new {
                 x.RepID,
                 x.RepName,
                 x.RepRef,
                 DisplayField = String.Format("{0} {1}", x.RepName, x.RepRef)
             }).ToList();

ddlReps.DataSource = datasource;
ddlReps.DataValueField = "RepID";
ddlReps.DataTextField = "DisplayField";
ddlReps.DataBind();