c# - 如何将表格数据绑定(bind)到下拉列表?

标签 c# asp.net

我尝试将 tblState 数据绑定(bind)到下拉列表,但数据无法绑定(bind)。 我收到类似

的错误

DataBinding: 'System.Data.DataRowView' does not contain a property with the name '@StateName'.

获取状态的存储过程

CREATE PROCEDURE GetStates
as
select * from tblState

来源

public DataTable GetStates()
{
    cmd = new SqlCommand("GetStates", con);
    cmd.CommandType = CommandType.StoredProcedure;
    da = new SqlDataAdapter(cmd);
    dt = new DataTable();
    da.Fill(dt);
    return dt;
}

aspx 页面

Property p = new Property();

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

private void FillStates()
{
    ddlState.DataSource = p.GetStates();
    ddlState.DataTextField = "@StateName";
    ddlState.DataValueField = "@Sid";

    ddlState.DataBind();
    ddlState.Items.Insert(0, "Select State");
}

最佳答案

我认为您给过程参数名称(@statename)而不是列名称。您应该将 datatextfield 和 valuefield 属性设置为您的数据表包含过程返回的相同列名称。

关于c# - 如何将表格数据绑定(bind)到下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29052976/

相关文章:

c# - 使用 SSL 从 C# 应用程序调用 WebService

asp.net - 为什么 ASP.NET 比 ASP Classic 更安全?

c# - ajax参数总是为空?

c# - 使用外部列表来排序 linq 查询

c# - 在 ASP.NET 中使用 Ext JS

c# - 找不到这个 NullReferenceException 的原因

c# - 如何比较 linq/lambda 查询中可空日期时间的日期部分?

c# - Session.Add ("key",value) 和 Session ["key"] = value 之间有什么区别?

c# - 同一整数可以有多个枚举值吗?

.net - 在 ASP.NET 动态数据/LINQ to SQL 中启用编辑主键字段