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