簡體   English   中英

凈核心內聯剃刀標記空模型

[英]Net Core Inline Razor Markup Null Model

我第一次使用Razor Pages內聯標記。 在將ViewModel傳遞給PartialView之后,遇到了這個奇怪的問題。

當然,在父頁面中,我將ViewModel傳遞給PartialView:

@{Html.RenderPartial("Partial/_RequestView", Model.NewRequest);}

public class IndexModel : PageModel
{
    private readonly IActiveDirectoryClient _activeDirectoryClient;
    private readonly ITravelClient _travelClient;
    public IEnumerable<TravelRequestViewModel> Requests { get; set; }

在局部視圖中,在lambda表達式中引用模型沒有問題

@Html.HiddenFor(model => model.RequestId)

但是,當我嘗試在剃刀標記內聯中引用該模型時,該模型為null。 有任何想法嗎?

<p>@Model.Name</p>

在父頁面的OnGetAsync()方法中設置NewRequest屬性。

    public async Task<IActionResult> OnGetAsync()
    {
        NewRequest = BuildNewRequest();
        if (NewRequest == null)
            throw new NullReferenceException("Unable to build new travel request");

        return await Task.FromResult(Page());
    }

回答了我自己的問題。 必須刪除@page指令,以使部分視圖正常工作並識別@Model。

VS 2017模板在部分視圖中添加了該指令,這有點奇怪,我只能假定這是一個錯誤。

暫無
暫無

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

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