我正在尝试在详细信息视图处于插入模式时自动填充字段clientId的文本框。
它需要像这样结束...... http://s7.postimg.org/o7d48cfvv/Untitled.png
name *textbox*
address *textbox*
phone *textbox*
email *textbox*
clientId *AUTOPOPULATED* - based on dropdownlist1.value
我环顾四周,无法在任何地方找到解决方案。
谢谢!
答案 0 :(得分:0)
要实现这一点,您需要将您的detailsview控件上的最后一个字段(clientId)作为模板字段,然后将InsertItemTemplate的值设置为下拉列表的值,以下是您的示例:
您的.aspx网络表单: //例如。这是你的下拉列表
<asp:DropDownList ID="DropDownList1" runat="server"> <asp:ListItem>id1</asp:ListItem> <asp:ListItem>id2</asp:ListItem> <asp:ListItem>id3</asp:ListItem> </asp:DropDownList>
//例。您的详细信息视图控件
<asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px" DataSourceID="SqlDataSource1" AutoGenerateRows="False"> <Fields> <asp:BoundField DataField="Firstname" HeaderText="Firstname" SortExpression="Firstname" /> <asp:BoundField DataField="Address" HeaderText="Address" SortExpression="Address" /> <asp:BoundField DataField="Suburb" HeaderText="Suburb" SortExpression="Suburb" /> <asp:BoundField DataField="State" HeaderText="State" SortExpression="State" /> <asp:BoundField DataField="Postcode" HeaderText="Postcode" SortExpression="Postcode" /> <asp:BoundField DataField="MPhone" HeaderText="MPhone" SortExpression="MPhone" /> <asp:TemplateField HeaderText="Username" SortExpression="Username"> <EditItemTemplate> <asp:Label runat="server" Text='<%# Eval("Username") %>' ID="Label1"></asp:Label> </EditItemTemplate> <InsertItemTemplate> <asp:TextBox runat="server" Text='<%# DropDownList1.SelectedItem.Value %>' ID="TextBox1"></asp:TextBox> </InsertItemTemplate> <ItemTemplate> <asp:Label runat="server" Text='<%# Bind("Username") %>' ID="Label1"></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:CommandField ShowInsertButton="True"></asp:CommandField> </Fields> </asp:DetailsView>
所以当您从上面的下拉列表中选择一个值并单击您的detailsviewcontrol上的新命令时,它将从列表中提取值并将其作为值绑定到文本框,如下面的快照: