【问题标题】:Assign ActionLink to jQuery button in MVC将 ActionLink 分配给 MVC 中的 jQuery 按钮
【发布时间】: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,检查我的答案:)

标签: c# javascript jquery asp.net-mvc asp.net-mvc-3


【解决方案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。
猜你喜欢
  • 2014-03-29
  • 2011-06-23
  • 2014-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-21
相关资源
最近更新 更多