我尝试将 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/