Ich arbeite an einer Ansicht, die die Tabellendaten in einem Tabellenformat in mvc zeigt. Es zeigt einen Fehler, dass Model keine Definition für GetEnumerator
enthält.foreach loop in mvc5 funktioniert nicht
MY VIEW
@model IEnumerable<TestComponents.Models.testorder>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<table id="myTable">
<tr class="header">
<th style="width:60%;">TEST NAME</th>
<th style="width:40%;">TEST ID</th>
</tr>
@foreach (var items in Model)
{
<tr>
<td>@items.searchtest</td>
<td>@items.searchtestid</td>
</tr>
}
</table>
mein Controller
public ActionResult test()
{
testorder to = new testorder();
DbHandle dh = new DbHandle();
to.searchtest = dh.searchtes('S', to);
to.searchtestid = dh.searchtesid('S', to);
return View("test", to);
}
MY DBHANDLE MODEL
public List<string> searchtes(char flag, testorder to)
{
List<string> items = new List<string>();
connection();
SqlCommand cmd = new SqlCommand("SPNAME", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@PstrOperationFlag", flag);
cmd.Parameters.AddWithValue("@Pstrtestname", 'w');
con.Open();
SqlDataAdapter sd = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sd.Fill(dt);
using (SqlDataReader sdr = cmd.ExecuteReader())
{
while (sdr.Read())
{
items.Add(sdr["testname"].ToString());
}
}
con.Close();
return items;
}
Ich weiß nicht, WHE Wenn ich falsch liege oder warum es nicht vom Modell zu meiner Ansicht abgerufen wird.
Wenn Sie einen einzelnen 'testorder' an die Ansicht übergeben, keine Sammlung von' testorder', so erhalten Sie eine andere Ausnahme - [this one] (https://stackoverflow.com/questions/40373595/the- model-item-pass-in-the-dictionary-ist-of-type-but-this-dictionary-requ) - so haben Sie nicht einmal den richtigen Code angezeigt. Und Sie müssten "Model.searchtest" durchlaufen, was eine Sammlung ist, nicht "Model" –
'@model TestComponents.Models.testorder' und' @foreach (var Artikel in Model.searchtest) {...} ' –
Nein, Ihre 'seestest' Sammlung ist nur' List ', also ist es nur' @items '. Und Sie haben uns nicht gesagt, was 'sextestid' ist - aber es ist eine andere Eigenschaft von' testorder' (keine Eigenschaft von 'seestest') –