gpt4 book ai didi

c# - 值不能为 null 或空。参数名称 linkText

转载 作者:行者123 更新时间:2023-11-30 16:47:42 25 4
gpt4 key购买 nike

我在“asp.net MVC for professional”一书中有一个类似的项目,所以我的导航栏有问题, View 有问题。

错误的内容是:值不能为 null 或空。Имя параметра: 链接文本

@foreach (var link in Model)
{
@Html.RouteLink(link, new
{
controller = "Profile"

,

我理解链接中的问题,但我不知道如何解决它。

下面是 Controller 和 View 的代码。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
})
}

导航 Controller

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 是 ActionLink 和 RouteLink 的第一个参数,这意味着您在模型中的一个或多个“链接”是空字符串。在创建链接之前检查它:

@foreach (var link in Model)
{
if(!String.IsNullOrEmpty(link.toString())
{
@Html.RouteLink(link, new
{
controller = "Profile",
action = "List",
category = link,
page = 1
})
}
}

或从选择中删除空行:

IEnumerable<string> categories = repository.Profiles.
Select(x => x.Category).
Distinct().
Where(x => !String.IsNullOrEmpty(x)).
OrderBy(x => x);

关于c# - 值不能为 null 或空。参数名称 linkText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39138906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com