gpt4 book ai didi

asp.net - 如何将值传递给部分标签助手? (ASP.NET 核心)

转载 作者:行者123 更新时间:2023-12-04 11:27:05 25 4
gpt4 key购买 nike

我正在尝试在表单中呈现局部 View ,我需要使用循环的值(当然是 +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>

非常感谢任何帮助 - 谢谢!

最佳答案

I'm trying to render a partial view inside a form, I need to use the value of the loop (+1 of course because it starts at 0) as one of the values in my partial, any ideas how I can make this work?



您可以尝试修改如下代码以分配一个 ViewDataDictionary 以传递给您的局部 View 。

在主要形式
@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>

关于asp.net - 如何将值传递给部分标签助手? (ASP.NET 核心),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59990186/

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