2011-04-20 8 views
8

मेरे पास फॉर्म व्यू है:फॉर्म व्यू में संपादन मोड पर कैसे जाएं?

<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; 
     } 
    } 

आइटमटाम्प्लेट में मैंने लिंकबटन डाला:

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

बेशक, फॉर्म व्यू में EditItemTemplate अनुभाग है।

जब मैं बटन पर क्लिक करता हूं, तो फॉर्मव्यू रीफ्रेश किया जाता है और केवल पढ़ने में रहता है। मैं क्या गलत कर रहा हूं?

उत्तर

13

आप FormView के ChangeMode विधि कॉल और मोड

fvReport.ChangeMode(DetailsViewMode.Edit); 
+1

धन्यवाद, परिणामस्वरूप मैंने आपके जैसा किया) लेकिन मैंने सोचा कि यदि कमांड नाम "संपादन" सेट करता है तो फॉर्मव्यू स्वचालित रूप से संपादन मोड में जाता है। [एमएसडीएन देखें] (http://msdn.microsoft.com/en-gb/library/system.web.ui.webcontrols.formviewmodeeventargs%28v=VS.90%29.aspx) – DmitryB

0

जो मैं आमतौर पर एक FormView से जोड़ सकते हैं और EditItemTemplate तत्व को निर्धारित करने के लिए है संपादन मोड में जाने के लिए एक अन्य विकल्प का उपयोग पारित करने के लिए की है। इससे आपके एप्लिकेशन को संपादन योग्य बनाना बहुत आसान हो जाता है।

अपने फॉर्म में देखें आपको संपादित करने के लिए अपने DefaultMode को बदलने की आवश्यकता हो सकती है। इसके अलावा आपके कोड में भी प्रयास करें:

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); 
    } 
} 
संबंधित मुद्दे