Получить данные из DataList - PullRequest
       10

Получить данные из DataList

0 голосов
/ 07 декабря 2009

Это будет простая таблица на странице, в которой есть несколько начальных ячеек, в которые должен войти другой пользователь. Я использую DataList с ItemTemplate:

<ItemTemplate>
    <asp:TextBox ID="CellTextBox" runat="server" Text='<%# Bind("Cell") %>' />
</ItemTemplate>

В коде я переопределяю DataBind () этого элемента управления:

public override void DataBind()
        {
            MyDataList.DataSource = dataTable;
            MyDataList.DataBind();
        }

Теперь это не работает. Пользователь вводит несколько ячеек и нажимает кнопку «Отправить», но dataTable (в методе, который обрабатывает событие OnClick этой кнопки) не содержит данных пользователя - только начальные. Что мне делать?

1 Ответ

0 голосов
/ 07 декабря 2009

Я не уверен, что полностью понимаю, но я думаю, что у вас могут быть проблемы, потому что вам нужно проверить наличие поста на странице загрузки. Вы можете попробовать что-то вроде этого:

public void Page_Load(Object sender, EventArgs e)
{
  if (!this.IsPostBack)
  {
    myDataList.DataSource = myManager.GetDataTable();
    myDataList.DataBind();
  }
}

Таким образом, данные будут привязаны только к элементу управления при начальной загрузке страницы, а не к последующим запросам обратной отправки. Page_ Load будет вызываться при каждом запросе, а это значит, что код в вашей Page_Load будет выполняться до того, как вы нажмете кнопку. Поэтому вам нужно проверить свойство IsPostBack на своей странице, чтобы увидеть, является ли текущий запрос отправкой назад. Если это так, то не связывайте свои данные с вашим контролем, потому что вы потеряете то, что ввел пользователь.

...