本篇 Controller、ViewModel 跟 Day08 范例差不多
依照 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>
@foreach(var item in Model.Items)
{
<p>
<input type="text"
name="Items"
asp-for="@item" />
</p>
}
</div>
<p>
<button type="submit">送出</button>
</p>
</form>
输入资料 & Submit 後,View Render 出来的结果
<form method="post" action="/Day11/Case01">
<p>
<label for="OrderDate">订单日期</label>
<input type="date" id="OrderDate" name="OrderDate" value="2021-05-12">
</p>
<div>
<label for="Items">订单项目</label>
<p>
<input type="text" name="Items" id="item" value="i">
</p>
<p>
<input type="text" name="Items" id="item" value="u">
</p>
<p>
<input type="text" name="Items" id="item" value="y">
</p>
</div>
<p>
<button type="submit">送出</button>
</p>
<input name="__RequestVerificationToken" type="hidden" value="CfDJ8JZKsziTm_FAnuczkhH_uBrkpOr7ADzb3TIFWYKLPUY1mp07qSXVSkR2a43i6HYJ2q_fl11RD3xBxb8u7LduvD1cJRlNvJb07jsppyMzE09ZCEtsL0a17vyefALhK89AX6GeMErYps9vqPUNppMCEZc"></form>
使用 Tag Helper
<div>
<label asp-for="Items"></label>
@for (int i = 0; i < Model.Items.Length; i++)
{
<p>
<input type="text"
asp-for="Items[i]" />
</p>
}
</div>
输入资料 & Submit 後,View Render 出来的结果
<div>
<label for="Items">订单项目</label>
<p>
<input type="text" id="Items_0_" name="Items[0]" value="4">
</p>
<p>
<input type="text" id="Items_1_" name="Items[1]" value="5">
</p>
<p>
<input type="text" id="Items_2_" name="Items[2]" value="6">
</p>
</div>
再次强调
这个 Case 的缺点就是如果 index 不连续
则 index 不连续之後的资料,都会 Binding 失败 !
今天的 Case 完美解决 Html Helper 之前提到的二个问题 !
相较於 Html Helper,这边可以看得出 Tag Helper 更有弹性的地方
针对特定的 html dom 的 asp-for 可以给定二种型态的格式
这篇先到这里,下一篇来看 复杂型别 object + object collection
!
>>: day3 - 减少预期外的变数, 握在手里的就变多了
Hi 大家今天介绍 Dashboard 的功能,30 天到现在还没有大家介绍说到底是否有警报。 对於...
我们今天来介绍一份View的基本结构 以昨日的Form作为例子: <odoo> <...
前面花了不少篇幅在讨论资料产品的开发,接下来将花一些篇幅讨论资料产品的治理方式。 在做资料产品治理时...
什麽是 Badging API Badging API 让 App 能够显示通知数字,不过通知数字的...
Introduce 为了API的安全性,本次跟各位介绍透过JWT Token来帮API做身分验证,简...