15
我沒有看到ASP.NET 5 MVC 6中單選按鈕的任何標籤助手。在需要使用單選按鈕的情況下處理表單元素的正確方法是什麼?ASP.NET 5中的單選按鈕標籤助手MVC 6
我沒有看到ASP.NET 5 MVC 6中單選按鈕的任何標籤助手。在需要使用單選按鈕的情況下處理表單元素的正確方法是什麼?ASP.NET 5中的單選按鈕標籤助手MVC 6
對於包含單選按鈕類型的所有輸入類型,還有一個TagHelper。假設你有一個視圖模型這樣
public class CreateUserVm
{
public string UserName { set; get; }
public IEnumerable<RoleVm> Roles { set; get; }
public int SelectedRole { set; get; }
}
public class RoleVm
{
public int Id { set; get; }
public string RoleName { set; get; }
}
而在你的GET動作,
public IActionResult Index()
{
var vm = new CreateUserVm
{
Roles = new List<RoleVm>
{
new RoleVm {Id = 1, RoleName = "Admin"},
new RoleVm {Id = 2, RoleName = "Editor"},
new RoleVm {Id = 3, RoleName = "Reader"}
}
};
return View(vm);
}
在視圖中,你可以簡單地使用標記的輸入標籤。
@model YourNamespaceHere.CreateUserVm
<form asp-action="Index" asp-controller="Home">
<label class="label">User name</label>
<div class="col-md-10">
<input type="text" asp-for="UserName" />
</div>
<label class="label">Select a Role</label>
<div class="col-md-10">
@foreach (var item in Model.Roles)
{
<input asp-for="SelectedRole" type="radio" value="@item.Id" /> @item.RoleName
}
</div>
<input type="submit" />
</form>
當您發佈的形式,該ROLD ID爲選定的角色將在SelectedRole
財產
記住,上面的剃刀代碼將產生輸入元素與相同Id
屬性值保持和由循環生成的每個輸入的name
屬性值。在上例中,它將生成Id
和name
屬性值設置爲SelectedRole
的3個輸入元素(單選按鈕類型)。模型綁定將起作用,因爲name
屬性值與我們視圖模型中的屬性名稱(SelectedRole
)匹配,但重複的Id屬性值可能會給客戶端代碼帶來麻煩(文檔中的重複ID無效)
I' m使用單選按鈕上的JS單擊事件來提交表單,但收音機的值永遠不會傳遞給我的操作方法。我必須將無線電輸入上的名稱或ID屬性設置爲特定的內容嗎? –
設置名稱屬性的技巧 –
問題:我可以將值設置爲true或false? '值= 「真」'? –