从DataList检索数据

时间:2009-12-06 21:43:27

标签: asp.net datalist

这将是页面上的一个简单表格,其中包含一些初始单元格,另一个用户应该输入。 我将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 :(得分:0)

我不确定我完全理解,但我认为您可能遇到问题,因为您需要检查页面加载上的帖子。您可能想尝试这样的事情:

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

这样,数据将仅绑定到初始页面加载的控件而不是后续的回发请求。将在每个请求上调用Page_ Load,这意味着Page_Load中的代码将在按钮单击方法之前执行。因此,您需要检查页面上的IsPostBack属性,以查看当前请求是否为回发。如果是,则不要将数据绑定到您的控件,因为您将丢失用户输入的内容。