我有简单的@html.actionlink("action", "controller", new {id = somevalue})
和jquery函数
<script>
function getValue() {
var p = $("#EditId").val();
return p;
}
</script>
如何在actionlink中使用此函数的返回值而不是“somevalue
”
答案 0 :(得分:3)
试试这个:
@html.actionlink("action", "controller", new {id = somevalue,@class="link"})
<script>
function getValue() {
var p = $("#EditId").val();
return p;
}
$(document).ready(function(){
$(".link").attr('id')=getValue();
});
</script>
或者:
$(".link").href.replace("somevalue", getValue());
答案 1 :(得分:0)
你所要做的事情是不可能的,因为你描述它是因为@Html.ActionLink是一个服务器端代码,并且当JS涉及@ Html.ActionLink完成它的工作时,呈现一个标记
此外,当您尝试更改元素的ID时,这也可能无法在以后访问(不确定)。
作为一种解决方法,您可以使用占位符来添加与JS功能的链接。请尝试以下并告诉我它是否正常工作
而不是@ Html.ActionLink使用下面的内容;
<div id="linkPlaceHolder"></div>
加载时使用以下
$(function(){
var actionUrl = @Url.Action("action", controller); // you get the url of action
$("#linkPlaceHolder").replaceWith("<a href='"+actionUrl+"' id='" + getValue() + "'>Text</a>")
});
这应该有用,如果没有或者不完全是你想要的,我们就在这里。