c# - FormView 不进入插入模式。为什么?

标签 c# .net asp.net formview

<asp:FormView ID="FormView1" runat="server" AllowPaging="True" 
        DataSourceID="SqlDataSource1" OnModeChanging="FormView1_ModeChanging">
        <EditItemTemplate>
            ID :
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            <br />
            CpuName :
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <br />
            Status :
            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        </EditItemTemplate>
        <EmptyDataTemplate>
            There is no data.
        </EmptyDataTemplate>
    <ItemTemplate>
     <table>
      <tr>
        <td align="right"><b>ID: </b></td>       
        <td><%# Eval("Id") %></td>
      </tr>
      <tr>
        <td align="right"><b>CPUName:</b></td>     
        <td><%# Eval("cpuname") %></td>
      </tr>
      <tr>
        <td align="right"><b>Status</b></td>      
        <td><%# Eval("status") %></td>
      </tr>

    </table>        
    <asp:LinkButton CommandName="Edit" runat="server">Edit</asp:LinkButton>
    <asp:LinkButton CommandName="Insert" runat="server">Insert</asp:LinkButton>
    </ItemTemplate>
    <InsertItemTemplate>
     <table>
      <tr>
        <td align="right"><b>ID: </b></td>       
        <td>
            <asp:TextBox ID="txtFVID" runat="server"></asp:TextBox></td>
      </tr>
      <tr>
        <td align="right"><b>CPUName:</b></td>     
        <td>
            <asp:TextBox ID="txtFVName" runat="server"></asp:TextBox></td>
      </tr>
      <tr>
        <td align="right"><b>Status</b></td>      
        <td>
            <asp:TextBox ID="txtFVStatus" runat="server"></asp:TextBox></td>
      </tr>

    </table>        

    </InsertItemTemplate>
    </asp:FormView>

protected void FormView1_ModeChanging(object sender, FormViewModeEventArgs e)
    {
            if (e.NewMode == FormViewMode.Edit)
            {
                FormView1.ChangeMode(FormViewMode.Edit);
            }
            if (e.NewMode == FormViewMode.Insert)
            {
                FormView1.ChangeMode(FormViewMode.Insert);
            }

    }

我收到以下错误:- FormView 'FormView1' 必须处于插入模式才能插入新记录。

最佳答案

添加

<asp:LinkButton ID="NewButton" runat="server" CausesValidation="False" 
                CommandName="New" Text="New" />

进入你的<ItemTemplate> .

并移动你的

<asp:LinkButton CommandName="Insert" runat="server">Insert</asp:LinkButton>
    </ItemTemplate>

<InsertItemTemplate>它属于哪里。

关于c# - FormView 不进入插入模式。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6665072/

相关文章:

c# - "foreach with task.Wait"和 Task.WaitAll 的区别

c# - 如何编写 httphandler 以仅拦截特定文件夹中的文件

c# - 无法使用 C# 手动更新包含文本字段的 mysql 数据库

c# - 在 Visual Studio 2013 C# 中更改项目元数据

c# - ShutdownBlockReasonCreate - 创建在注销/关机期间显示的多个原因

c# - 我使用哪种方法在 C# 中查找电池百分比?

.net - 转发有冷却时间的 Rx 项目,当它们来得太快时切换到采样

c# - 用于 Visual Studio 2008 外观的 ToolStripProfessionalRenderer

c# - 使用 ClosedXML 库导出 GridView

javascript - 将 IE 8 Only JavaScript 添加到 Orchard CMS head 元素