Вид сетки привязки с общим списком (ошибка: «Поле \ Свойство не назначено») - PullRequest
0 голосов
/ 02 ноября 2011

Я новичок в .NET.Я пытаюсь привязать общий List к GridView на странице aspx.Я установил AutoGenerateColumns="false", я определил столбцы на своей странице .aspx и связал их, но все равно выдает ошибку A field or property with the name 'Assigned' was not found on the selected data source.

Я перепробовал все варианты, но в итоге ничего не нашел.CL является псевдонимом для моего пространства имен.

SITESTATUS CLASS

public class SiteStatus
{
    public string Opened;
    public string Assigned;
    public string LocationAddress;
    public string LocationId;

    public SiteStatus(string Assigned, string Opened, string LocationAddress, string  LocationId)
    {
        this.Assigned = Assigned;
        this.Opened = Opened;
        this.LocationAddress = LocationAddress;
        this.LocationId = LocationId;
    }    
}

Aspx File

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SiteSurveyStatus.aspx.cs"  MasterPageFile="~/Site.Master" Inherits="Website.WebForms.SiteSurveyStatus" %>    
<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <form id="form1" runat="server">
        <asp:Label ID="SiteSurvey" runat="server" Text="Site Survey Status" Font-Bold="True"></asp:Label>
        <asp:GridView ID="GridView1" runat="server" PageSize="15" CellPadding="0" Width="100%" AutoGenerateColumns="false" EnableViewState="True">
            <Columns>
                <asp:BoundField HeaderText="Assigned" DataField="Assigned" SortExpression="Assigned" />
                <asp:BoundField HeaderText="Opened" DataField="Opened" SortExpression="Opened" />
                <asp:BoundField HeaderText="Location" DataField="LocationAddress" />
                <asp:BoundField HeaderText="LocationId" DataField="LocationId" />
            </Columns>
        </asp:GridView>
    </form>

Код позади:

protected void Page_Load(object sender, EventArgs e)
{
    List<CL.SiteStatus> list = new List<CL.SiteStatus>();

    list.Add(new CL.SiteStatus("09/12/2011", "User123", "Dallas TX 75724", "USATX75724"));
    list.Add(new CL.SiteStatus("10/11/2011", "User234", "Houston TX 77724", "USATX77724"));
    list.Add(new CL.SiteStatus("02/30/2011", "User567", "Austin TX 70748", "USATX70748"));
    list.Add(new CL.SiteStatus("03/01/2011", "User1234", "El Paso TX 71711", "USATX71711"));
    list.Add(new CL.SiteStatus("04/02/2011", "User125", "Chicago IL 33456", "USAIL33456"));

    GridView1.DataSource = list.ToList();
    GridView1.DataBind();
}

1 Ответ

2 голосов
/ 02 ноября 2011

Проблема выглядит так, как будто она связана с вашим классом SiteStatus. У вас есть свойства, но нет модификаторов, поэтому внешний код не может получить к ним доступ.

Попытка:

public class SiteStatus
{
    public string Opened { get; set; }
    public string Assigned { get; set; }
    public string LocationAddress { get; set; }
    public string LocationId { get; set; }
    public SiteStatus(string Assigned, string Opened, string LocationAddress, string LocationId)
    {
        this.Assigned = Assigned;
        this.Opened = Opened;
        this.LocationAddress = LocationAddress;
        this.LocationId = LocationId;
    }
}

Остальная часть вашей разметки выглядит хорошо для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...