asp.net mvc viewdata 在viewpage中显示
asp.net mvc viewdata display in a viewpage
我向这样的视图页面发送了一个视图数据。
public ActionResult SelectRes(int id)
{
var ResList = resrepository.GetAll();
ViewData["ResList"] = new SelectList(ResList, "ResId", "Res_KORNM");
return View(svcresrelationRepository.GetAll());
}
@foreach (var item in ViewData["ResList"] as List<ITSDapper.Dapper.Resource>)
{
<tr>
<td style="text-align:center;">
@Html.DisplayFor(a=> item.Res_KORNM)
</td>
</tr>
}
我尝试在视图页面中显示视图数据,但没有成功。
(对象引用未设置为对象的实例)
如何在foreach语句中显示viewdata?
您通常会对要由用户选择的数据使用 SelectList
。
如果这是你的意图,你可以使用 Html.DropDownList
:
@Html.DropDownList("SelectedId",
(IEnumerable<SelectListItem>)ViewData["ResList"])
如果您只是需要查看数据,我会更改您的服务器端代码以使用 SelectList
以外的代码。
这可以按如下方式完成:
控制器
public ActionResult SelectRes(int id)
{
var ResList = resrepository.GetAll();
ViewData["ResList"] = ResList;
return View(svcresrelationRepository.GetAll());
}
查看
@foreach (var item in ViewData["ResList"] as List<ITSDapper.Dapper.Resource>)
{
<tr>
<td style="text-align:center;">
@Html.DisplayFor(a=> item.Res_KORNM)
</td>
</tr>
}
您将引用转换为错误的类型,您正在创建 SelectList
实例,而在视图中您将其转换为 IList<T>
,您应该将其转换为 SelectList
:
@foreach (var item in ViewData["ResList"] as SelectList)
{
<tr>
<td style="text-align:center;">
@Html.DisplayFor(a=> item.Text) // note this as well
</td>
</tr>
}
我向这样的视图页面发送了一个视图数据。
public ActionResult SelectRes(int id)
{
var ResList = resrepository.GetAll();
ViewData["ResList"] = new SelectList(ResList, "ResId", "Res_KORNM");
return View(svcresrelationRepository.GetAll());
}
@foreach (var item in ViewData["ResList"] as List<ITSDapper.Dapper.Resource>)
{
<tr>
<td style="text-align:center;">
@Html.DisplayFor(a=> item.Res_KORNM)
</td>
</tr>
}
我尝试在视图页面中显示视图数据,但没有成功。 (对象引用未设置为对象的实例)
如何在foreach语句中显示viewdata?
您通常会对要由用户选择的数据使用 SelectList
。
如果这是你的意图,你可以使用 Html.DropDownList
:
@Html.DropDownList("SelectedId",
(IEnumerable<SelectListItem>)ViewData["ResList"])
如果您只是需要查看数据,我会更改您的服务器端代码以使用 SelectList
以外的代码。
这可以按如下方式完成:
控制器
public ActionResult SelectRes(int id)
{
var ResList = resrepository.GetAll();
ViewData["ResList"] = ResList;
return View(svcresrelationRepository.GetAll());
}
查看
@foreach (var item in ViewData["ResList"] as List<ITSDapper.Dapper.Resource>)
{
<tr>
<td style="text-align:center;">
@Html.DisplayFor(a=> item.Res_KORNM)
</td>
</tr>
}
您将引用转换为错误的类型,您正在创建 SelectList
实例,而在视图中您将其转换为 IList<T>
,您应该将其转换为 SelectList
:
@foreach (var item in ViewData["ResList"] as SelectList)
{
<tr>
<td style="text-align:center;">
@Html.DisplayFor(a=> item.Text) // note this as well
</td>
</tr>
}