2016-04-12 3 views
0

Dans le formulaire web asp.net, j'ai un formulaire avec DynamicControl. Comment définir une valeur par défaut pour issuedDate?Est-il possible de définir la valeur par défaut à afficher dans DynamicControl? Non

<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

Avez-vous essayé données événement lié? Dans cette vérification de l'élément d'insertion, accédez à votre contrôle et définissez la valeur par défaut. –

+0

@PiyushKhatri comme ça? 'protected void issuedDate_DataBinding (expéditeur d'objet, EventArgs e) { (expéditeur (DynamicControl)) .SetAttribute (" Text "," 03/03/2017 "); } ' – Willmore

+0

No. Evénement lié aux données d'élément de la vue Formulaire. –

Répondre

0

DynamicControl ne fonctionnait pas. J'ai donc utilisé TextBox au lieu de DynamicControl.

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

Ajouté 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

Essayez d'accéder à votre contrôle comme ci-dessous,

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 "Une exception de type 'System.NullReferenceException' s'est produite dans" se produit pour 'protected void myForm_DataBound (expéditeur d'objet, EventArgs e) { FormViewRow row = (FormViewRow) (myForm.DataItem); TextBox tb = (Zone de texte) myForm.FindControl ("issuedDate"); tb.Text = "04/03/2016"; } ' – Willmore

+0

mon mauvais je n'avais pas de chèque. maintenant j'ai ajouté le contrôle 'if (myForm.CurrentMode == FormViewMode.Insert) {FormViewRow row = (FormViewRow) (myForm.DataItem); TextBox tb = (TextBox) myForm.FindControl ("émisDate"); tb.Text = "04/03/2016"; } 'et obtenir une autre exception Impossible de convertir un objet de type 'System.Web.DynamicData.DynamicControl' en type 'System.Web.UI.WebControls.TextBox'. – Willmore

+0

Donc, espérons que vous résolvez ce problème, son erreur de conversion. Convertissez votre contrôle en type approprié et attribuez une valeur. –