在c#actionlink中调用javascript函数

在c#actionlink中调用javascript函数,javascript,asp.net,html.actionlink,Javascript,Asp.net,Html.actionlink,我正试图将这段代码重新编写到c#中,只是为了教育目的,我无法让它工作:(我缺少了什么 <a href="javascript:document.getElementById('logoutForm').submit()">Log off</a> 还有javascript: <script> function LogOutLink() { document.getElementById('logoutForm').submit(); } </s

我正试图将这段代码重新编写到c#中,只是为了教育目的,我无法让它工作:(我缺少了什么

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

 <script>
function LogOutLink() {
    document.getElementById('logoutForm').submit();
}
</script>

函数LogOutLink(){
document.getElementById('logoutForm').submit();
}

我遗漏了什么?因为我不希望链接调用任何特定的视图或控制器,所以正如您所看到的,我只是将它们留空,但它仍然希望调用该函数

您只需将其重写为:

@Html.ActionLink("Log off", "", "", new { }, new { onclick = "LogOutLink(); return false;" })
如果您提到这个,您会注意到第四个参数是路由值,第五个参数是HTML属性



如果已加载jQuery,还可以使用jQuery执行此操作:

@Html.ActionLink("Log off", "", "", new { id = "LogOffId" });
在javascript中,添加:

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

您只需将其改写为:

@Html.ActionLink("Log off", "", "", new { }, new { onclick = "LogOutLink(); return false;" })
如果您提到这个,您会注意到第四个参数是路由值,第五个参数是HTML属性



如果已加载jQuery,还可以使用jQuery执行此操作:

@Html.ActionLink("Log off", "", "", new { id = "LogOffId" });
在javascript中,添加:

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

谢谢,但是这个链接只是把我带回到我的起始页,可能是javascript中的som错误?@PerKällström当你在onclick的末尾添加'return false;'时会发生什么给你10块饼干,先生,你是我今天的救世主!@PerKällström很高兴我能帮上忙,先生。我还添加了jQuery方法来为可能遇到同样问题的其他人做这件事。我该如何向链接添加一个id?就像添加另一个htmlproperty一样,或者自new{onclick=“LogOutLink();return false;”以来它叫什么占据这个位置,我可以拥有2个属性吗?谢谢,但是链接只是把我带回我的起始页,可能是javascript中的som错误?@PerKällström当你在onclick的末尾添加“return false;”时会发生什么。换句话说,“LogOutLink();return false;”给你10块饼干,先生,你是我今天的救世主!@PerKällström很高兴我能帮上忙,先生。我还添加了jQuery方法来为可能遇到同样问题的其他人做这件事。我该如何向链接添加一个id?就像添加另一个htmlproperty一样,或者自new{onclick=“LogOutLink();return false;”以来它叫什么占据那个,我能有两个属性吗?