首页 > 解决方案 > 如何使用标签助手从复选框输入中调用操作

问题描述

如果我想使用图像类型的输入来调用控制器操作,我可以这样做:

<form method="post">
    <button asp-controller="Home" asp-action="Index">Click Me</button>
    <input type="image" src="..." alt="Or Click Me" asp-controller="Home" 
                                asp-action="Index">
</form>

是否可以使用这样的标签助手对类型复选框的输入做类似的事情:

<input type="checkbox" asp-for="@Model.Property" asp-controller="Home" asp-action="DoSomething" asp-route-propertyId="@Model.Id" class="form-control" />

? 或者如果我必须为此编写自己的自定义标签助手?

下面的代码也不起作用。

<input type="checkbox" asp-for="@Model.Property" onclick="@Url.Action("DoSomething", "Home", new { propertyId= Model.Id })" class="form-control" />

编辑:目前我找到了如下解决方案:

<input type="checkbox" asp-for="@Model.Property" onclick="triggerLink(@Model.Property)" class="form-control" />

比我添加以下脚本:

function triggerLink(Property) {
    var theUrl = '@Url.Action("DoSomething", "Home")?propertyId=' + Property;
    window.location = theUrl;
}

它正在工作,但我仍在寻找带有标签助手的解决方案。

标签: c#asp.net-corecheckboxasp.net-core-tag-helpers

解决方案


推荐阅读