Asp.net
如何將值傳遞給部分標籤助手?(ASP.NET 核心)
我正在嘗試在表單中呈現局部視圖,我需要使用循環的值(當然是 +1,因為它從 0 開始)作為我的局部值之一,任何想法如何使這項工作?
我嘗試使用 ViewData 或 ViewBag 來執行此操作,但要麼這是錯誤的方法,要麼我執行錯誤
這是我的主要形式:
@model Measurement <form asp-action="Create" method="post"> <div class="form-group" hidden> <label asp-for="LymphSiteId"></label> <input asp-for="LymphSiteId" value=@ViewBag.Id /> <span asp-validation-for="LymphSiteId"></span> </div> <div class="form-group" hidden> <label asp-for="UserId"></label> <input asp-for="UserId" value="1" /> <span asp-validation-for="UserId"></span> </div> <div class="form-group"> <label asp-for="MeasurementDate"></label> <input asp-for="MeasurementDate" /> <span asp-validation-for="MeasurementDate"></span> </div> @for (int i = 0; i < ViewBag.NumMeasuringPoints; i++) { <partial name="_New" view-data=@(i+1) /> } <button type="submit">Submit</button> </form>這是我的部分:
@model Circumference <div class="form-group" hidden> <input asp-for="Id" /> </div> <div class="form-group" hidden> <input asp-for="MeasurementId" value="@ViewBag.Id" /> </div> <div class="form-group"> <label asp-for="PositionFromStart">Position from Start</label> <input asp-for="PositionFromStart" value="@ViewData" /> </div> <div class="form-group"> <label asp-for="DistanceAround">Circumference at point (cm)</label> <input asp-for="DistanceAround" /> </div>非常感謝任何幫助 - 謝謝!
我正在嘗試在表單中呈現局部視圖,我需要使用循環的值(當然是 +1,因為它從 0 開始)作為我的局部值之一,任何想法如何使這項工作?
您可以嘗試修改如下程式碼以分配 ViewDataDictionary 以傳遞給您的局部視圖。
主要形式
@for (int i = 0; i < ViewBag.NumMeasuringPoints; i++) { ViewData["PositionFromStart"] = i + 1; var pmodel = new Circumference(); <partial name="_New" model="pmodel" view-data="ViewData" /> }局部視圖
@model Circumference <div class="form-group" hidden> <input asp-for="Id" /> </div> <div class="form-group"> <input asp-for="MeasurementId" value="@ViewBag.Id" /> </div> <div class="form-group"> <label asp-for="PositionFromStart">Position from Start</label> <input asp-for="PositionFromStart" value="@ViewData["PositionFromStart"]" /> </div> <div class="form-group"> <label asp-for="DistanceAround">Circumference at point (cm)</label> <input asp-for="DistanceAround" /> </div>