asp.net получает значение из поля базы данных объекта динамического контроля внутри формы

У меня есть следующий код в aspx:

<asp.DynamicControl ID="ArticleName" runat="server" DataField="Name" Mode="Edit"/>

Как в коде я получаю значение DataField в этом DynamicControl (например, DataField Value = "Ball")?

Я пробовал это, но не работает:

protected void FormView1_Load(object sender, EventArgs e)
{
    DynamicControl myControl = (DynamicControl)FormView1.FindControl("ArticleName");
    if (myControl != null)
    {
        // Now What ???
        //string st = myControl.< I need help here >
    }
}

person user3406973    schedule 11.03.2014    source источник
comment
пожалуйста, опубликуйте свой код разметки.   -  person Christos    schedule 11.03.2014


Ответы (2)


Попробуй это

string value = myControl.DataField;
person Christos    schedule 11.03.2014
comment
Здравствуйте Кристос. Ваш ответ возвращает имя (DataField=Name). Я хочу, чтобы значение было связано с именем поля базы данных. У меня есть этот FormView, связанный с источником данных с помощью Entity Framework. В FormView у меня есть информация из названия статьи (и других полей, таких как цена, цвет и т. д.), но мне нужно значение или название статьи в коде позади. - person user3406973; 12.03.2014

Я понял :

protected void FormView1_Load(object sender, EventArgs e)
{
    var ctrl = FormView1.FindFieldTemplate("name") as IBindableControl;
    OrderedDictionary entityValues = new OrderedDictionary();

    entityValues.Add("name", null); // I have to initialize before
    ctrl.ExtractValues(entityValues); // Get values from FormView in this case only the article name field

    string myVal = entityValues["name"].ToString(); // This is what i want
}

Спасибо, Филипе Пинто.

person user3406973    schedule 12.03.2014