Двухсторонняя проверка данных в ASP.NET

Пусть говорят, что у нас есть объект

class Entity
{
    public string ID {get; set;}
    public string Name {get; set;}
}

Я хочу связать свойства двумя текстовыми коробками на странице что-то подобное:

<asp:FormView ID="FormView" runat="server">
  <ItemTemplate>
    <asp:textbox ID="TextId" Text='<%# Bind("ID") %>'/>
    <asp:textbox ID="TextId" Text='<%# Bind("Name") %>'/>
  </ItemTemplate>
</asp:FormView>

А затем напишите это в коде позади

public EntityObject
{
    get { return ViewState["Entity"] as Entity; }
    set { ViewState["Entity"] = value; }
}

protected override void OnInit(EventArgs e)
{
    if (EntityObject== null)
        EntityObject= new EntityObject();

    FormView.DataSource = new[] { EntityObject };
    FormView.DataBind();
    base.OnInit(e);
}

и когда я ввожу значения в текстовых ящиках, я ожидаю, что EntityObject имеет эти значения в свойствах при перезагрузке страниц после обратной связи, но свойства всегда нулевые.

6
задан Mikael Dúi Bolinder 19 February 2019 в 14:15
поделиться