我到处寻找解决这个问题,现在是时候问了。
以下是详细信息视图:
<asp:DetailsView ID="dvConnPipe" runat="server" AutoGenerateRows="False" ForeColor="#333333"
GridLines="None" Width="100%">
<Fields>
<asp:TemplateField HeaderText="Connection Pipe 1" SortExpression="ConnectionPipe1">
<EditItemTemplate>
<asp:TextBox ID="txtConnectionPipe1" runat="server" Text='<%# Bind("ConnectionPipe1") %>'
onkeydown="return FloatOnly(event)"></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="txtConnectionPipe1" runat="server" Text='<%# Bind("ConnectionPipe1") %>' onkeydown="return FloatOnly(event)"></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("ConnectionPipe1") %>'></asp:Label>
</ItemTemplate>
<ControlStyle Width="50px" />
</asp:TemplateField>
</Fields>
</asp:DetailsView>
选择的下拉列表索引已更改:
protected void ddlFormItem_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList ddlFormItem = (DropDownList)sender;
if (ddlFormItem.SelectedValue != "-1")
{
int CopyID = int.Parse(ddlFormItem.SelectedValue);
//SetInsertMode(); //If insert mode, does not bind
//SetReadOnlyMode(); //If read only, it binds OK
BindViews(CopyID);
}
}
private void BindViews(int CopyID)
{
DataTable dt = BLL.SOCBll.GetConditions(CopyID);
dvConnPipe.DataSource = dt;
dvConnPipe.DataBind();
//More views below
}
必须可以在插入模式下绑定详细信息视图。
如果我改为只读,它会绑定OK。
我不想找到每个控件并将其设置为那样。
答案 0 :(得分:0)
好吧,经过大量搜索后,我发现在插入模式下你无法绑定详细视图。对于所有视图,我必须找到每个控件并设置默认值。