HtmlHelper => 讓你可以在前端以C#語法生成 Html 標籤
簡單來說他就是生成一段html script
因為是程式產出的 所以可以很容易做一些動態字串的串接、跨頁面的表單元件reuse等等
考量這個案例
只要有身高跟體重我們就可以算出BMI值
我們試著使用HtmlHelper來計算
新增一個App_Code資料夾
再新增一個HtmlHelper
@helper GetBmi(double height, double weight)
{
var value = weight / Math.Pow((height / 100), 2);
<span>@value</span>
}
在View裡面呼叫HtmlHelper
@model IEnumerable<Repository.Models.MySampleTable>
@{
ViewBag.Title = "Hello World!";
}
<h2>@ViewBag.Title</h2>
<p>
<br />
<table class="table">
<tr>
<th>ID</th>
<th>NAME</th>
<th>BIRTHDAY</th>
<th>HEIGHT</th>
<th>WEIGHT</th>
<th>BMI</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.ID</td>
<td>@item.NAME</td>
<td>@item.BIRTHDAY</td>
<td>@item.HEIGHT</td>
<td>@item.WEIGHT</td>
<td>@MyHtmlHelper.GetBmi(item.HEIGHT,item.WEIGHT)</td>
</tr>
}
</table>
</p>
如果在View裡VS不認識MyHtmlHelper的話,只要重開方案即可 (VS重開也可以)