我有一个类似于"asp.net MVC for professional"书中网站的项目,所以我在导航栏中遇到了问题,问题出现在视图中。
错误信息如下: 无法将空值或空字符串分配给参数"name"的对象。 参数名: linkText
我明白链接出现了问题,但我不知道如何修复它。
以下是控制器和视图的代码。 Menu.cshtml
错误信息如下: 无法将空值或空字符串分配给参数"name"的对象。 参数名: linkText
@foreach (var link in Model)
{
@Html.RouteLink(link, new
{
controller = "Profile"
,
我明白链接出现了问题,但我不知道如何修复它。
以下是控制器和视图的代码。 Menu.cshtml
@model IEnumerable<string>
@Html.ActionLink("List", "Profile")
@foreach (var link in Model)
{
@Html.RouteLink(link, new
{
controller = "Profile",
action = "List",
category = link,
page = 1
})
}
NavController
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using HoboAnimal.Domain.Abstract;
namespace HoboAnimal.WebUI.Controllers
{
public class NavController : Controller
{
private IProfileRepository repository;
public NavController(IProfileRepository repo)
{
repository= repo;
}
public PartialViewResult Menu(){
IEnumerable<string> categories = repository.Profiles.
Select(x => x.Category).
Distinct().
OrderBy(x => x);
return PartialView(categories);
}
}
}
排版
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
<link href="~/Content/Site.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div id="header">
</div>
<div id="categories">
@{Html.Action("Menu","Nav");}
</div>
<div id="content">
@RenderBody()
</div>
</body>
</html>
谢谢您
linkText
控制器/元素的标记在哪里? - Hanlet Escaño@{ Html.RenderAction("Menu", "Nav"); }
(或者@Html.Action("Menu", "Nav")
) - user3559349