在插入模式下绑定详细信息视图

时间:2014-10-14 18:52:57

标签: c# asp.net

我到处寻找解决这个问题,现在是时候问了。

以下是详细信息视图:

<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。

我不想找到每个控件并将其设置为那样。

1 个答案:

答案 0 :(得分:0)

好吧,经过大量搜索后,我发现在插入模式下你无法绑定详细视图。对于所有视图,我必须找到每个控件并设置默认值。