[英]ASP.NET MVC - Access Issue in DropDownListFor
我正在制作一个页面。 页面上有一个表格。 我的目标是过滤表系统。 我将使用Class.ClassName
进行过滤。
我的代码:
Index.cshtml
:
@model List<StudentApp.Models.Entity.StudentTable>
@{
ViewData["Title"] = "Manage Student";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<br />
<h1>Manage Student</h1>
<br />
@using (Html.BeginForm("Index", "StudentTable", FormMethod.Get))
{
<p>
@Html.DropDownListFor(m => m., (List<SelectListItem>)ViewBag.ClassT, new { @class = "form-control"}),
<b>Student Name:</b> @Html.TextBox("p");
<input type="submit" value="Ara">
</p>
}
<table id="tbl1" class="table table-bordered">
<tr>
<th>
Student ID
</th>
<th>
Student Name
</th>
<th>
Student Class
</th>
<th>
Edit
</th>
<th>
Delete
</th>
</tr>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
@item.Id
</td>
<td>
@item.Name
</td>
<td>
@item.Class.ClassName
</td>
<td>
<a href="/StudentTable/EditStudent/@item.Id" class="btn btn-success">Edit</a>
</td>
<td>
<a href="/StudentTable/Delete/@item.Id" class="btn btn-danger">Delete</a>
</td>
</tr>
}
</tbody>
</table>
<a href="/StudentTable/AddStudent" class="btn btn-primary">Add Student</a>
Controller
:
StudentDatabaseContext db = new StudentDatabaseContext();
public IActionResult Index(string p)
{
var studentList = db.StudentTables.Include(x => x.Class).ToList();
var degerler = from d in db.StudentTables select d;
if (!string.IsNullOrEmpty(p))
{
degerler = degerler.Where(m => m.Class.ClassName.Contains(p));
}
return View(degerler.ToList());
}
Model
:
using System;
using System.Collections.Generic;
namespace StudentApp.Models.Entity
{
public partial class StudentTable
{
public int Id { get; set; }
public string? Name { get; set; }
public int ClassId { get; set; }
public virtual ClassTable? Class { get; set; }
}
}
我遇到了这样的问题:
正如您在图片中看到的,我无法访问名为Class.ClassName
的数据。 我的目标是列出 DropDownListFor 中的项目。 为什么会这样? 我该如何解决? 感谢帮助。
在 controller 中。 添加这个
ViewBag.ClassT = new SelectList((from s in db.Class.OrderBy(a => a.Code)
select new { ID = s.Id,
FullDescription = s.Code }),
"ID", "FullDescription");
在视图中
@Html.DropDownListFor(m => m.ClassId, (SelectList)ViewBag.ClassT,"-Select-",new { @class = "form-control})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.