Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Formview.ChangeMode不工作_Asp.net_Formview - Fatal编程技术网

Asp.net Formview.ChangeMode不工作

Asp.net Formview.ChangeMode不工作,asp.net,formview,Asp.net,Formview,这是我的网页: <asp:FormView ID = "frmView1" DefaultMode = "Insert" runat = "server" > <ItemTemplate> Item Template </ItemTemplate> <InsertItemTemplate> Insert Item Template </InsertItemTemplate>

这是我的网页:

<asp:FormView
  ID = "frmView1"
  DefaultMode = "Insert"
  runat = "server"
 >
  <ItemTemplate>
      Item Template
  </ItemTemplate>
  <InsertItemTemplate>
      Insert Item Template
  </InsertItemTemplate>    
</asp:FormView>

<asp:Button ID="btnSubmit" Text="Submit" runat="server" />
当我点击btnSubmit时,formview没有显示任何内容!这是改变代码隐藏模式的正确方法吗

此外,如果编写以下代码,请使用代码隐藏而不是更改模式:

frmView1.DefaultMode = FormViewMode.ReadOnly

forview显示InsertItemTemplate的内容。有人能解释一下这里发生了什么吗?

除非您绑定,否则FormView不会显示,如下所示:

using(SqlDataAdapter adapter = new SqlDataAdapter(sql,connection))
{
   DataTable table = new DataTable();
   adapter.Fill(table);
   FormView1.DataSource = table;
   FormView1.DataBind();   
}
若数据源不返回任何值,只需添加EmptyDataTemplate标记以显示空消息

 <EmptyDataTemplate>
    There is nothing to see here.
</EmptyDataTemplate>

这里没有什么可看的。

遵循此操作以及有关此操作的更多信息,您可以尝试添加以下数据绑定功能

protected void myFormView_DataBound(object sender, EventArgs e)
{
    frmView1.ChangeMode(FormViewMode.ReadOnly);
}
语法在代码的
C#

<asp:Button ID="btnSubmit" Text="Submit" runat="server" />

formView1应该同时显示InsertItemTemplate和ItemTemplate的内容,对吗?@sarwar026:我没有正确理解您的问题,但我希望formview首先显示“插入项目模板”,因为默认模式是Insert(正在发生),然后单击btnSubmit后,文本将更改为“项目模板”(没有发生)有什么想法吗?对不起,你说的“捆绑它”是什么意思??无论您试图更改模式是什么,但为了使用FormView显示任何内容,您必须通过数据源获取一些数据。我将我的答案编辑为更清晰。很抱歉耽误了您的一些时间。您是否使用FormView绑定了一些对象或列表?我想您需要这样做。有趣的是,我将默认模式更改为只读但是什么也没出现!!!你能解释一下我为什么要绑它吗?
<asp:Button ID="btnSubmit" Text="Submit" runat="server" />
<asp:Button ID="btnSubmit" Text="Submit" runat="server" command="ChangeModeToReadOnly" OnCommand="Button_Command" />
Protected Sub Button_Command(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.CommandEventArgs)
   Select Case e.CommandName
     Case "ChangeModeToReadOnly"
       frmView1.ChangeMode(FormViewMode.ReadOnly)
   End Select
End Sub