C# 从codebehind获取edititemtemplate的值
我有一个detailsview,其中我从会员资格档案中获取了一些数据,并将其显示在detailsview上……这很好:C# 从codebehind获取edititemtemplate的值,c#,label,detailsview,edititemtemplate,C#,Label,Detailsview,Edititemtemplate,我有一个detailsview,其中我从会员资格档案中获取了一些数据,并将其显示在detailsview上……这很好: <ItemTemplate> <asp:label ID="FirstName" runat="server" /> </ItemTemplate> 我应该改用ItemUpdate吗?或者,当单击edit按钮时,是否还有另一种方法可以在edit时填充firstname字段?另外,我在编辑模式下将其保留为“
<ItemTemplate>
<asp:label ID="FirstName" runat="server" />
</ItemTemplate>
我应该改用ItemUpdate吗?或者,当单击edit按钮时,是否还有另一种方法可以在edit时填充firstname字段?另外,我在编辑模式下将其保留为“标签”(通常为文本框)的原因是该字段必须是只读的。将行更新和行编辑事件添加到gridview
当您进入编辑模式时,不会触发事件ItemUpdate。必须使用数据绑定事件来正确设置所需的文本值 如有必要,您可以询问DetailsView的CurrentMode属性以了解是否正在编辑或显示 结果如下所示:
protected void DetailsView1_ItemUpdating(Object sender, DetailsViewUpdateEventArgs e)
{
//I get my memberprofle here
MemberProfile memberp = MemberProfile.GetuserProfile(data);
MembershipUser myuser = Membership.GetUser()
Label labelfName = DetailsView1.FindControl("FirstName") as Label;
labelfName.Text = memberp.fName;
}
protected void DetailsView1_DataBound(object sender, EventArgs e)
{
Label l = DetailsView1.FindControl("FirstName") as Label;
if (DetailsView1.CurrentMode == DetailsViewMode.Edit)
{
//obtained from your sample
MemberProfile memberp = MemberProfile.GetuserProfile(data);
MembershipUser myuser = Membership.GetUser()
l.Text = memberp.fName;
}
else
{
l.Text = "Another text or nothing";
}
}
请确保在Detailsview1控件中定义数据绑定事件
备注:它可能会受到数据绑定模式的影响。如果是这样,请让我知道并举个例子。您好。。。谢谢我正在使用detailsview。。。。detailsview的等价物是什么。。。相同吗?不确定,但事件不同。请参考下面的链接。希望对你有帮助是的。。。它被定义为。。。我有另一个if语句,它加载dropdowlist,运行良好。。。所以我知道它调用的方法是
DetailsView1\u itemUpdate
在编辑时触发事件?