2011-04-20 14 views
8

FormView'im var:FormView'da Düzenleme Moduna Nasıl Gidilir?

<asp:FormView ID="fvReport" runat="server" DefaultMode="ReadOnly" AllowPaging="false" OnModeChanging="fvReport_ModeChanging" DataKeyNames="id"> 

protected void fvReport_ModeChanging(Object sender, FormViewModeEventArgs e) 
    { 
     switch (e.NewMode) 
     { 
      case FormViewMode.Edit: 
       fvReport.AllowPaging = false; 
       break; 
     } 
    } 

in ItemTamplate Ben LinkButton koydu:

<asp:LinkButton ID="lbEdit" runat="server" CausesValidation="true" CommandName="Edit" CommandArgument='<%# Eval("id") %>'>Редактировать</asp:LinkButton> 

Tabii ki, FormView EditItemTemplate bölümüne sahiptir.

Düğmeyi tıklattığımda, FormView yenilenir ve ReadOnly içinde kalır. Neyi yanlış yapıyorum?

cevap

13

Eğer FormView ChangeMode yöntemini çağırın ve modu

fvReport.ChangeMode(DetailsViewMode.Edit); 
+1

teşekkürler, sonuçta yaptığım gibi yaptım) ama CommandName "Edit" ayarlanmışsa FormView otomatik olarak düzenleme moduna geçtiğini düşündüm. [MSDN'ye bakın] (http://msdn.microsoft.com/en-gb/library/system.web.ui.webcontrols.formviewmodeeventargs%28v=VS.90%29.aspx) – DmitryB

0

bir formview ekleyip EditItemTemplate elemanı tanımlamaktır I yaygın düzenleme moduna geçmek için kullandıkları bir diğer seçenek geçmek zorunda. Bu, uygulamanızı düzenlenebilir hale getirmeyi çok daha kolaylaştırır.

FormunuzdaFotoğraflarınız için DefaultMode numaralı sayfayı değiştirmeniz gerekebilir. Ayrıca, kodunuzda şu kodu deneyin:

protected void fvReport_ModeChanging(Object sender, FormViewModeEventArgs e) 
{ 

} 

protected void lbEdit_Click(object sender, EventArgs e) 
{ 
    LinkButton lbEdit = (LinkButton)fvReport.FindControl("lbEdit"); 

    if (sender == lbEdit) 
    { 
     fvReport.DataBind(); 
     fvReport.ChangeMode(FormViewMode.Edit); 
    } 
} 
İlgili konular