2016-04-12 12 views
0

In asp.net Webformular habe ich ein FormView mit DynamicControl. Wie lege ich einen Standardwert für embeddedDate fest?Kann der Standardwert für die Anzeige in DynamicControl festgelegt werden? Nicht

<asp:FormView runat="server"....> 
     <InsertItemTemplate> 
       <asp:Label AssociatedControlID="issuedDate" runat="server">Issued date:</asp:Label> 
        <asp:DynamicControl runat="server" ID="issuedDate" DataField="IssuedDate" Mode="Edit" /> 
      .... 
     </InsertItemTemplate> 
     <EmptyDataTemplate> 
      <p> 
       No Data found. 
      </p> 
     </EmptyDataTemplate> 
    </asp:FormView> 
+0

Haben Sie versucht, Daten Ereignis gebunden? Suchen Sie in diesem Fall nach dem Einfügeelement, greifen Sie auf Ihr Steuerelement zu und legen Sie den Standardwert fest. –

+0

@PiyushKhatri gefällt das? 'protected void embeddedDate_DataBinding (Objektabsender, EventArgs e) { ((DynamicControl) sender) .SetAttribute (" Text "," 03.03.2017 "); } ' – Willmore

+0

Nr. Formularansicht Element Daten gebunden Ereignis. –

Antwort

0

Dynamic hat nicht funktioniert. Also habe ich TextBox anstelle von DynamicControl verwendet.

<asp:TextBox runat="server" ID="IssuedDateTextBox" CssClass="form-control" Text='<%# Bind("IssuedDate") %>' /> 

Added myForm_DataBound

protected void myForm_DataBound(object sender, EventArgs e) 
{ 
    if (myForm.CurrentMode == FormViewMode.Insert) 
    { 
     TextBox tb = (TextBox)myForm.FindControl("IssuedDateTextBox"); 
     if (String.IsNullOrEmpty(tb.Text.Trim())) 
     { 
      //set default value - TODAY date 
      tb.Text = String.Format("{0:yyyy}{0:MM}{0:dd}", DateTime.Now); 
     } 
    } 
} 
0

Versuchen Sie, Ihre Steuerung wie unten zuzugreifen,

protected void ItemsFormView_DataBound(object sender, EventArgs e) 
{ 
    If (FormView1.CurrentMode == FormViewMode.Insert){ 
     DataRowView dataRow = ((DataRowView)FormView1.DataItem); 
     if (Convert.ToInt16(dataRow["ClStk"]) <= 0) 
     { 
      Label lbl = (Label)FormView1.FindControl("lblStock"); 
      lbl.CssClass = "changefont"; 
     } 
    } 
} 
+0

Exception "Eine Ausnahme des Typs 'System.NullReferenceException' aufgetreten ist in" tritt für 'protected void myForm_DataBound (object sender, EventArgse) { FormViewRow row = (FormViewRow) (myForm.DataItem); TextBox tb = (TextBox) myForm.FindControl ("ausgegebenesDatum"); tb.Text = "04/03/2016"; } ' – Willmore

+0

mein Schlechter ich hatte keinen Scheck. Ich habe nun das Kontroll 'if (myForm.CurrentMode == FormViewMode.Insert) {FormViewRow row = (FormViewRow) (myForm.DataItem); TextBox tb = (TextBox) myForm.FindControl ("ausgegebenesDatum"); tb.Text = "04/03/2016"; } 'Und eine weitere Ausnahme erhalten Kann nicht das Objekt des Typs‚System.Web.DynamicData.DynamicControl‘werfen‚System.Web.UI.WebControls.TextBox‘eingeben. – Willmore

+0

Also hoffe, Sie lösen dieses Problem, seinen Konvertierungsfehler. Konvertieren Sie Ihr Steuerelement in den richtigen Typ und weisen Sie den Wert zu. –