将 ActionLink 分配给 MVC 中的 jQuery 按钮

Posted

技术标签:

【中文标题】将 ActionLink 分配给 MVC 中的 jQuery 按钮【英文标题】:Assign ActionLink to jQuery button in MVC 【发布时间】:2012-05-23 06:49:12 【问题描述】:

如何将 ActionLink 分配给 asp.net MVC 页面中的 jQuery 按钮。

<button id="Button1">Click</button>

<%: html.ActionLink("About", "About", "Home")%>

<script language="javascript" type="text/javascript">
    $(function () 

        $("#Button1").button().click(function () 
            return false;
        );
    );
</script>

【问题讨论】:

你的意思是给按钮与 ActionLink 相同的 src 吗? 点击 jQuery 按钮我想加载视图“关于”。我不确定那里是否需要 Html.ActionLink。 是的,你不需要那个ActionLink,检查我的答案:) 【参考方案1】:

根据您的 cmets,您只想在单击按钮时转到 Home 控制器中的 About 操作,您可以执行以下操作并删除 ActionLink

$(function () 
    $("#Button1").click(function () 
        location.href = '<%= Url.Action("About", "Home") %>';
    );
);

【讨论】:

我收到错误 CS1002: ;预期在 location.href = ''; 尝试添加一个 ;在 Url.Action 之后 感谢,现在没有错误,但单击按钮后没有任何反应。我试图查看源代码,它显示 $("#Button1").button().click(function () window.location.href = ''; ); @CoolArchTek 啊原来你不需要分号,你只需要=&lt;% 之后,检查我测试的新编辑,它可以工作:) 我已经习惯了到 RAZOR 语法呵呵 :) 没问题,很高兴能帮上忙!【参考方案2】:

给锚点一个id

<%: Html.ActionLink("About", "About", "Home", null, new  id = "Button1")%>

使用这个overload:

public static MvcHtmlString ActionLink(
    this HtmlHelper htmlHelper,
    string linkText,
    string actionName,
    Object routeValues,
    Object htmlAttributes // <==============
)

【讨论】:

我需要有锚(Html.ActionLink(....) )吗?是否可以在jQuery按钮javascript中编写一些东西来调用目标页面? 锚点显示为普通链接。我想使用 jQuery UI 控件(以获得更好的带有主题的 UI 等)。 @CoolArchTek。然后添加元素或任何你想要的 onclick 事件:$('#elementId').click(function() /* What you want here... */) 请注意,你应该在一个线程中问一个问题......【参考方案3】:

jQuery 的button 方法也适用于标签,试试这个:

<%: Html.ActionLink("About", "About", "Home", null, new  id="Button1" )%>

<script language="javascript" type="text/javascript">
    $(function () 

        $("#Button1").button().click(function () 
            return false;
        );
    );
</script>

【讨论】:

你的意思是 jquery UI 不是 jquery。 哥们,他用的是jQuery UI,但是好吧,你觉得你说的不对! 我的错误,我编辑了问题。你的回答对我来说有点不清楚。【参考方案4】:
<%: Html.ActionLink("About", "About", "Home", new  @class = "yourclass" )%>

您可以尝试将类附加到操作链接,然后可以通过查询选择它。如果你想使用一个类。

【讨论】:

这不是正确的重载... :(。您将该参数作为routeValues... 这应该仍然有效。我刚试过..除非我错了,因为我使用的是剃须刀:O 添加 routesValue 不会编译 asp.net mvc。

以上是关于将 ActionLink 分配给 MVC 中的 jQuery 按钮的主要内容,如果未能解决你的问题,请参考以下文章

ActionLink 与 ASP.NET MVC3 中的多个类

如何使用 ASP.NET MVC 5 中的 JavaScript 在运行时使用路由值增加 actionlink?

MVC4 中的 FormCollection 与 Html Actionlink

MVC MapPageRoute 和 ActionLink

如何在 ASP.NET MVC 中将 CSS 类应用于 Html.ActionLink?

在 ASP.NET MVC Html.ActionLink 中包含锚标记