接下来开始着重使用 Tag Helper 在 Html 长出需要的 Html 控制项 name !
本篇 Controller、ViewModel 跟 Day09 一样
依照 View 的差异,拆成不同 Case 来看 !
使用 Tag Helper
<form asp-action="Case01"
method="post">
<p>
<label asp-for="OrderDate"></label>
<input type="date"
asp-for="OrderDate" />
</p>
<div>
<label asp-for="Items"></label>
<table>
<thead>
<tr>
<th>
<label asp-for="Items.FirstOrDefault().Name"></label>
</th>
<th>
<label asp-for="Items.FirstOrDefault().Quantity"></label>
</th>
</tr>
</thead>
<tbody>
@for (int i = 0; i < Model.Items?.Length; i++)
{
<tr>
<td>
<input type="text"
asp-for="Items[i].Name" />
</td>
<td>
<input type="number"
step=1
min=0
asp-for="Items[i].Quantity" />
</td>
</tr>
}
</tbody>
</table>
</div>
<p>
<button type="submit">送出</button>
</p>
</form>
输入资料 & Submit 後,View Render 出来的结果
<form action="/Day12/Case01" method="post"> <p>
<label for="OrderDate">订单日期</label>
<input type="date" id="OrderDate" name="OrderDate" value="2021-05-07">
</p>
<div>
<label for="Items">订单项目</label>
<table>
<thead>
<tr>
<th>
<label for="Name">名称</label>
</th>
<th>
<label for="Quantity">数量</label>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="text" id="Items_0__Name" name="Items[0].Name" value="b">
</td>
<td>
<input type="number" step="1" min="0" id="Items_0__Quantity" name="Items[0].Quantity" value="2">
</td>
</tr>
<tr>
<td>
<input type="text" id="Items_1__Name" name="Items[1].Name" value="c">
</td>
<td>
<input type="number" step="1" min="0" id="Items_1__Quantity" name="Items[1].Quantity" value="3">
</td>
</tr>
<tr>
<td>
<input type="text" id="Items_2__Name" name="Items[2].Name" value="d">
</td>
<td>
<input type="number" step="1" min="0" id="Items_2__Quantity" name="Items[2].Quantity" value="4">
</td>
</tr>
</tbody>
</table>
</div>
<p>
<button type="submit">送出</button>
</p>
<input name="__RequestVerificationToken" type="hidden" value="CfDJ8BeKebzmhD5Pmy2bGJRwhhKT8Kxj5cFT9TMWMe5MLg3hAZMQvqb7T2MN-fAXNlKuqMrFrAWmPJnMmBiBuDA9petFx_TTn_bQXytOG0TKwkg7CnhC44o112SHqQAJN7wsSXixA8jVjplVbvD6iEschHM">
</form>
再次强调
这个 Case 的缺点就是如果 index 不连续
则 index 不连续之後的资料,都会 Binding 失败 !
到这边先做个简单的整理:
当套用 Html Helper / Tag Helper,注意 Render 後的 Html 控制项 name,只要符合规则,在 Submit Form 後,後端进行 Model Binding 时,就不会有太大的问题 !
这篇先到这里,下一篇来看 动态 新增/删除 Collection 项目
!
『经济学家萨谬森问同事是否愿意赌一次掷硬币,可以赢二百美元或输一百美元。同事说:「我不会赌,因为我对...
Online threats, such as spyware, phishing and iden...
前言 今天这篇文章要分享我自己在抓取某个路径下所有档案时,很喜欢用的一个套件,觉得它使用弹性满高,有...
在开始之前,还是很惊讶自己有天可以在这里写文章,分享自身所学的IT技术,提供给大家参考。那其实我...
前面有介绍了基本型别,基本型别有 string、number、boolean、null、undef...