簡體   English   中英

MVC5 Razor 值不能為 null 或為空。 參數名稱:名稱

[英]MVC5 Razor Value cannot be null or empty. Parameter name: name

源錯誤:第 22 行:@Html.TextBoxFor(model => model.DailyCurrencyRates___BuyingCurrency, new { @id = "test", @class = "form-control" })

我被這個問題困了好幾天,無法解決這個錯誤。 我只想用父類的項目呈現部分視圖。 以下是我的代碼:如果需要,請詢問更多信息。

控制器

public ActionResult AddRecord(int index)
{
  return PartialView("_AddItem", new ForexItem { Index = index});
}

父視圖

@foreach (ForexItem item in Model.ForexItems)
{
    Html.RenderPartial("_AddItem", item);
}

局部視圖

@model F.Models.Entities.ForexItem

@Html.TextBoxFor(model => model.DailyCurrencyRates___BuyingCurrency, new { @id = "test", @class = "form-control" })

模型

public partial class ForexItem
 {
        public int ID { get; set; }

        [NotMapped]
        [StringLength(1000)]
        [Display(Name = "Buying")]
        public string DailyCurrencyRates___BuyingCurrency { get; set; }

        [NotMapped]
        public int Index { get; set; }
}

當我將模型屬性名稱中的下划線數量從 1 增加到 2 時,我得到了同樣模糊、模糊的錯誤。請注意,在 TextBoxFor 助手之前的 LabelFor Helper 沒有發生該錯誤,而只是在 TextBoxFor 助手中,相同如你所見。 (我注意到您的屬性名稱(“DailyCurrencyRates___BuyingCurrency”)有 3 個下划線。)然后當我從屬性名稱中刪除額外的下划線時它就消失了。 好像有了額外的下划線,Razor 找不到屬性名稱,所以它只是搜索(通用)“名稱”,它也找不到。

這可能是一個錯字,但在我看來,您應該將Model.ForexItems更改為Model.ForexItem - 沒有。 根據您提交的代碼。 ……或者也許只是使用Model因為您已經將 ForexItem 放入其中?

父視圖

@foreach (ForexItem item in Model)
{
    Html.RenderPartial("_AddItem", item);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM