2016-08-25 76 views
2

我有一個類似的項目,在「asp.net MVC專業」的書, ,所以我有一個導航欄,問題在視圖中的問題。值不能爲空或空。參數名稱linkText

錯誤的文本是: 值不能爲空或爲空。 Имяпараметра: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> 

謝謝

+0

其中,是'linkText'控制器/元素的標記? –

+1

已添加Layout.cshtml –

+0

您遇到異常的任何特定行? –

回答

1

由於linkText是ActionLink和RouteLink的第一個參數,這意味着Model中的一個或多個「鏈接」是空字符串。檢查之前創建的鏈接:

@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); 
+0

這是真的,問題出在空行 –

相關問題