Affichage de formulaire manuellement La configuration de la source de données n'affiche pas de modèle

StackOverflow https://stackoverflow.com/questions/1404861

Question

Je suis en train de programmer un ASP .NET FormView. La torsion ici est que je dois définir manuellement la source de données via " FormView.DataSource = & <; strong>. J'ai ajouté un ItemTemplate et un formulaire dans la vue du formulaire, même si la ligne de code qui définit la vue de la source de données est appelée et que le FormView.DataBind () est appelé, Je ne peux toujours pas voir les données.

J'ai alors pensé que la vue ne se trouvait probablement pas dans la vue des éléments ou quelque chose du genre. J'ai donc défini le mode par défaut pour modifier et placer l'ensemble du code dans le ItemEditTemplate , mais il n'affiche toujours pas le formulaire lorsque je passe dans l'indicateur de données.

Je sais que faire cela en utilisant la source de données définie dans les balises ASPX a fonctionné. Mais malheureusement, mon exigence n’est pas d’utiliser la balise DataSource dans asp .net, mais bien de faire la liaison manuellement.

Avez-vous des idées ou des exemples sur l’utilisation de FormView sur la liaison de données manuelle?

Était-ce utile?

La solution

Regardez ce code,

Classe CUSTOM DataSource,

namespace dc
{
    public class Student
    {
        public int Roll { get; set; }
        public string Name { get; set; }
        public Student() { }
        public Student(int _roll, string _name)
        {
            Roll = _roll;
            Name = _name;
        }
    }
    public class StudentList : List<Student>
    {

    }
}

Balisage ASPX,

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        dc.StudentList a = new dc.StudentList();
        a.Add(new dc.Student(1, "A"));
        a.Add(new dc.Student(2, "A"));

        FormView1.DataSource = a;
        FormView1.DataBind();
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Sample</title>
</head>
<body>
     <form id="form1" runat="server">
    <asp:FormView ID="FormView1" AllowPaging="true"  runat="server">
      <ItemTemplate>
          <asp:Label ID="Label1" runat="server" Text='<%# Eval("Roll") %>'></asp:Label>
          <asp:Label ID="Label2" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
      </ItemTemplate>
    </asp:FormView>
    </form>
</body>
</html>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top