私は非常にasp.netに新しく、このコードに固執しています。このエラーを解決できません "辞書に渡されたモデルアイテムは'AMSPractice.Models.AddTable'型のモデル項目が必要です。この辞書には、 'System.Collections.Generic.IEnumerable`1 [AMSPractice.Models.AddTable]'タイプのモデル項目が必要です。辞書に渡されたモデル項目は 'AMSPractice.Models.AddTable'タイプのものです
たとえば、私のテーブルに値が1つしか表示されないようにするには、「first」という値の名前が複数あるため、「first」を1回だけ表示したい場合は、最初に書きます FirstOrDefaultどこにエラーが表示されません しかし、私は戻って1つだけの値を返したい場合は、1つ以上の値を返します。ここで
は私のコード コントローラ
public ActionResult Login(string Name,string TeacherID)
{
AdmissionDBEntities obj = new AdmissionDBEntities();
AddTable t = new AddTable();
var v = obj.AddTables.FirstOrDefault(a => a.Teacher.Equals(Name) && a.Teacher_Id.Equals(TeacherID));
if (v != null)
{
**var var = obj.AddTables.FirstOrDefault(b => b.Teacher==Name);**
return View(var);
}
return RedirectToAction("/Home/Index");
で、私のビューは次のとおりです。
@model IEnumerable<AMSPractice.Models.AddTable>
<h3>Classes Assigned</h3>
<br /><br />
<ul>
@foreach (var a in Model)
{
<li>
@Html.ActionLink(a.Class,"Sections","Attendance", new { nid = a.Foreign_Id }, null)
</li>
}
</ul>
私は一意の値(「最初」が複数回表示されてから1回だけ表示されることを意味します)を表示することを忘れていました。だから私はforeachが必要です。私の問題は解決されていません:\。 – ttoseeff