Представление формы вручную Установка источника данных не показывает шаблон

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

Вопрос

В настоящее время я программирую ASP .NET FormView. Суть в том, что мне нужно вручную установить источник данных через " FormView.DataSource = " . Я добавил ItemTemplate и добавил некоторую форму в представление формы, но даже если вызывается строка кода, которая задает представление источника данных, и вызывается FormView.DataBind () , Я до сих пор не вижу данных.

Тогда я подумал, что, возможно, представление не в представлении элемента или что-то в этом роде. Поэтому я установил DefaultMode для редактирования и поместил весь код в ItemEditTemplate , но он по-прежнему не отображает форму при прохождении через привязку данных.

Я знаю, что выполнение этого с использованием набора источников данных в тегах aspx сделало его работоспособным. Но, к сожалению, мои требования состоят не в том, чтобы использовать тег DataSource в asp .net, а в том, чтобы выполнить привязку вручную.

Есть какие-нибудь идеи или примеры, как использовать FormView при ручном связывании данных?

Это было полезно?

Решение

Посмотрите на этот код,

CUSTOM DataSource class,

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>
    {

    }
}

ASPX Markup,

<%@ 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top