2015-03-14 2 views
2

Я пытаюсь связать данные tblState с выпадающим списком, но данные не могут связываться. я получаю сообщение об ошибке, какКак связать данные таблицы с раскрывающимся списком?

DataBinding: «System.Data.DataRowView» не содержит свойство с именем «@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"); 
} 
+1

Почему '@ StateName'? Без @, как 'StateName' должно быть отлично – Icepickle

+0

Спасибо, сэр, ошибка решена –

ответ

1

Я думаю, что вы указываете имя параметра процедуры (@statename) вместо имен столбцов. Вы должны установить свойства datatextfield и valuefield как одно и то же имя столбца, которое ваш datatable содержит возвращенный процедурой.

+0

У меня возникла ошибка и ее решить. спасибо –

Смежные вопросы