有没有办法将TextBox默认值绑定为一个组?

时间:2011-01-20 22:25:33

标签: asp.net data-binding

我知道这个问题很奇怪,但我不知道该怎么说。
我正在asp .net中创建一个“编辑客户”页面,并希望将所有当前值输入到PageLoad上的TextBox中。有没有办法使用数据绑定,或者我必须从DataContext获取Customer,然后逐行设置TextBoxes?即

firstNameTB.Text = Customer.FirstName;
lastNameTB.Text = Customer.LastName;
...

2 个答案:

答案 0 :(得分:1)

您可以使用FormView并将数据绑定到控件: MSDN:Data-Binding Expressions Overview

单击行的“更新”按钮时,将提取使用Bind语法绑定的每个控件属性的值,并将其传递给数据源控件以进行更新操作。

<asp:FormView ID="FormView1"
      DataSourceID="SqlDataSource1"
      DataKeyNames="CustomerID"     
      RunAt="server">

<EditItemTemplate>
  <table>
    <tr>
      <td align=right>
        <b>Customer ID:</b>
      </td>
      <td>
        <%# Eval("CustomerID") %>
      </td>
    </tr>
    <tr>
      <td align=right>
        <b>First Name:</b>
      </td>
      <td>
        <asp:TextBox ID="EditFirstNameTextBox" RunAt="Server"
          Text='<%# Bind("FirstName") %>' />
      </td>
    </tr>
    <tr>
      <td align=right>
        <b>Last Name:</b>
      </td>
      <td>
        <asp:TextBox ID="EditLastNameTextBox" RunAt="Server"
            Text='<%# Bind("LastName") %>'  />
      </td>
    </tr>
    <tr>
      <td colspan="2">
        <asp:LinkButton ID="UpdateButton" RunAt="server"
          Text="Update" CommandName="Update" />
        &nbsp;
        <asp:LinkButton ID="CancelUpdateButton" RunAt="server"
          Text="Cancel" CommandName="Cancel" />
      </td>
    </tr>
  </table>
</EditItemTemplate>               
</asp:FormView>

答案 1 :(得分:0)

看看这个非常相似的问题:Better way to populate form fields from SQL?