【问题标题】:Make an html links href property equal Ajax.ActionLink使 html 链接 href 属性等于 Ajax.ActionLink
【发布时间】:2014-10-30 08:14:48
【问题描述】:

如果我有一个 html 链接,如何使其 href 属性等于 Ajax.ActionLink? 所以它看起来像这样:

<a href="@Ajax.ActionLink(...)"></a>

actionlink 将返回一个我想要加载到 div 中的部分视图,因此我需要使用 ajax.actionlinks ajaxoptions 属性来执行此操作。

编辑:

我希望我的标签看起来像这样:

<a href="@Ajax.ActionLink(...)">
    <span class="badge pull-right">@Convert.ToString(GPTooLowNew.Count())</span>
    Gross Profit Too Low on Product Sale
</a>

【问题讨论】:

  • 我不是特别熟悉。但我愿意接受任何形式的解决方案。
  • 如果你想要一个 Ajax.ActionLink,那么你将它创建为 @Ajax.ActionLink(...),它会创建 &lt;a&gt; 标签(而不是相反)。我建议你从this article开始
  • 你不能(除非你想创建自己的 html 助手)。您可以创建自己的 html 元素,然后使用 javascript/jquery 处理 &lt;a&gt; 标签单击事件以提供与 @Ajax.ActionLink() 相同的功能,或者您可以使用 javascript/jquery to append 新元素到 &lt;a&gt; 标签

标签: html ajax asp.net-mvc href


【解决方案1】:

当你使用ajax

这是javascript的方法:

window.onload=function(){
var links=document.getElementsByTagName("a");
for(var i=0;i<links.length;i++){
var link=links[i];
var href=link.getAttribute("href").toString();
link.setAttribute("href","@Ajax.ActionLink('"+href+"')"); // Assuming Ellipses are the href parameter passed to Ajax.ActionLink(...) function.
}
};

把这个包裹在&lt;/head&gt; ... &lt;script type='text/javascript'&gt; Code Here &lt;/script&gt;...&lt;/head&gt;里面 希望能帮助到你。干杯:)。

如果你使用Jquery,那就更简单了。

【讨论】:

  • 感谢您的回复。虽然没有工作。获取 System.ArgumentException。方法“ActionLink”没有重载需要 1 个参数。
  • 试试把link.setAttribute("href","@Ajax.ActionLink('"+href+"')");改成link.setAttribute("href","@Ajax.ActionLink()");希望对你有帮助
  • 这将创建类似(取决于选项)&lt;a href="&lt;a data-ajax="true" data-ajax-method="GET" data-ajax-mode="replace" data-ajax-update="#CustomerList" href="/Home/Germany"&gt;Customer from Germany&lt;/a&gt;"&gt;&lt;/a&gt; 的内容。对我来说毫无意义,当然对浏览器也没有意义!
猜你喜欢
  • 2014-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-09
  • 2014-06-18
相关资源
最近更新 更多