Iva*_*yev 4 .net javascript asp.net asp.net-mvc asp.net-mvc-3
是否有可能CheckBox像点击一样在点击时调用控制器方法ActionLink?基本上,我想替换这个ActionLink:
@Html.ActionLink("Switch status", "SwitchTaskIsComplete", "Task", new {
taskId = task.TaskId,
isComplete = !task.IsComplete,
userId = Model.UserId
}, null)
Run Code Online (Sandbox Code Playgroud)
使用a @Html.CheckBox,调用相同的方法
SwitchTasksIsComplete(int taskId, bool isComplete, int userId)
Run Code Online (Sandbox Code Playgroud)
的TaskController,并使用其checked属性作为isComplete参数,每次被点击的时间.
您可以使用HTML onclick:
@Html.CheckBox("mycheckbox", new { onclick="triggerLink()" })
Run Code Online (Sandbox Code Playgroud)
使用@Url.Action而不是@Html.ActionLink仅获取URL:
<script>
function triggerLink() {
var theUrl = '@Url.Action("SwitchTaskIsComplete", "Task", new {taskId = task.TaskId, isComplete = !task.IsComplete, userId = Model.UserId}, null)';
window.location = theUrl;
}
</script>
Run Code Online (Sandbox Code Playgroud)
您还可以将整个表达式内联到属性中:
@{
var url = Url.Action("SwitchTaskIsComplete", "Task", new {taskId = task.TaskId, isComplete = !task.IsComplete, userId = Model.UserId}, null);
}
@Html.CheckBox("mycheckbox", new { onclick="window.location = '" + url + "'" })
Run Code Online (Sandbox Code Playgroud)