Ich habe ein kleines Problem mit einigen Daten in meiner MVC C# -Anwendung.Objekt enthält keinen Definitionsfehler beim Zugriff auf Dataset in MVC-Ansicht
In der Steuerung habe ich Folgendes, um einen Datensatz zur Verwendung in der Ansicht abzurufen.
public ActionResult Franchisee()
{
getNav();
var data = (
from f in DietCenterDB.Franchises
join fc in DietCenterDB.FranchiseContents on f.ID equals fc.FranchiseId
into ffc
from subffc in ffc.DefaultIfEmpty()
select new {
State = f.State,
City = f.City,
AccountCode = f.AccountCode,
CenterNumber = f.CenterNumber,
FranchiseContentId = (subffc == null ? 0 : subffc.FranchiseContentId) }
).ToList();
return View(data);
}
The View hat den folgenden Code
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Content.master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<dynamic>>" %>
<asp:Content ID="Head" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<h1>Franchisee Administration - <%: Html.ActionLink("Add New", "FranchiseeEdit", new { id = 0 }) %></h1>
» <%: Html.ActionLink("Content Management Home", "Index") %>
<p></p>
<table cellpadding="0" cellspacing="0" width="600px">
<%
int counter = 0;
string rowClass;
foreach (var item in Model) {
if ((counter % 2) == 0)
{
rowClass = "r1";
}
else
{
rowClass = "r2";
}
string dataString = item.State + " " + item.City + " " + item.AccountCode + " " + item.CenterNumber;
%>
<tr class="row <%: rowClass %>">
<td>
<%: Html.ActionLink(dataString, "FranchiseeEdit", new { id = item.ID, City = item.City, State = item.State, Zip = item.Zip })%>
</td>
<td align="right">
<%: Html.ActionLink("Edit Microsite Content", "MicrositeContentEdit", new { id = item.ID, City = item.City, State = item.State, Zip = item.Zip })%>
</td>
</tr>
<% counter++; %>
<% } %>
</table>
</asp:Content>
Wenn ich laufen die App ich folgende Fehlermeldung erhalten
'Objekt' enthält keine Definition für 'Staat' enthalten
Beim Debuggen zeigt der Debugger, dass die Daten tatsächlich im Speicher sind.
Alle Tipps oder Hinweise werden sehr geschätzt !!!
das ist sinnvoll, aber woher kommt die Klasse viewModel? – dindryte
danke für deine hilfe !!! – dindryte
@dindryte - es ist eine einfache Klasse, die zur Vereinfachung der Modellbindung verwendet wird (siehe Bearbeiten). Es ist eine bekannte Technik in ASP.NET MVC. Lass mich wissen, wie es dir geht. – RPM1984