5

CheckBoxそれと同じように、クリック時にコントローラーメソッドを呼び出すことは可能ActionLinkですか? 基本的に、これを置き換えたいActionLink

@Html.ActionLink("Switch status", "SwitchTaskIsComplete", "Task", new {
    taskId = task.TaskId, 
    isComplete = !task.IsComplete, 
    userId = Model.UserId
}, null)

@Html.CheckBox、同じメソッドを呼び出します

SwitchTasksIsComplete(int taskId, bool isComplete, int userId)

of であり、クリックされるたびにTaskControllerそのcheckedプロパティをパラメーターとして使用します。isComplete

4

2 に答える 2

9

onclickこれには HTML を使用できます。

@Html.CheckBox("mycheckbox", new { onclick="triggerLink()" })

URL だけを取得する@Url.Action代わりに使用します。@Html.ActionLink

<script>
    function triggerLink() {
        var theUrl = '@Url.Action("SwitchTaskIsComplete", "Task", new {taskId = task.TaskId, isComplete = !task.IsComplete, userId = Model.UserId}, null)';
        window.location = theUrl;
    }
</script>

式全体を属性にインラインで配置することもできます。

@{
    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 + "'" })
于 2012-09-14T22:40:09.260 に答える