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