在c#actionlink中调用javascript函数

时间:2015-12-30 19:59:47

标签: javascript asp.net html.actionlink

我试图将此代码重新编写为c#仅用于教育目的,我无法让它工作:(我失踪了什么?

<a href="javascript:document.getElementById('logoutForm').submit()">Log off</a>

这是我得到了多远:

 @Html.ActionLink("Log off", "", "", new { onclick = "LogOutLink();" })

和javascript:

 <script>
function LogOutLink() {
    document.getElementById('logoutForm').submit();
}
</script>
我错过了什么?因为我不希望链接调用任何特定的视图或控制器,我只是将它们留空,因为你可以看到,但它仍然想要调用该函数

1 个答案:

答案 0 :(得分:0)

您只需要将其重写为:

@Html.ActionLink("Log off", "", "", new { }, new { onclick = "LogOutLink(); return false;" })

如果你引用这个MSDN document,你会发现第四个参数是路由值,第五个参数是HTML属性。



如果你加载了jQuery,你也可以使用jQuery来完成它:

@Html.ActionLink("Log off", "", "", new { id = "LogOffId" });

在您的javascript中,添加:

$(function(){
    $('#LogOffId').on('click', function(){
        $('#logoutForm').submit();
    }
});