如何从@Html.ActionLink参数routeValues调用jquery函数

如何从@Html.ActionLink参数routeValues调用jquery函数,jquery,razor,Jquery,Razor,我有一个文本框和一个点击按钮,它应该检索文本框中设置的值并将其传递给控制器。我试图通过调用JQuery函数来实现这一点,该函数返回文本框的值,并作为routevalues参数传递。我知道这不起作用,但我的问题是有没有办法修改下面的代码来实现这一点?基本上,我想知道如何在ActionLink调用中插入getValue函数 <script type="text/javascript"> $(function () { var getValue = function () {

我有一个文本框和一个点击按钮,它应该检索文本框中设置的值并将其传递给控制器。我试图通过调用JQuery函数来实现这一点,该函数返回文本框的值,并作为routevalues参数传递。我知道这不起作用,但我的问题是有没有办法修改下面的代码来实现这一点?基本上,我想知道如何在ActionLink调用中插入getValue函数

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

    var getValue = function () {

        return $("#addtoset").val();
    };
});
</script>

@Html.TextBox("addtoset", "", htmlAttributes : new { @id = "addtoset", @class = "col-sm-10" })
@Html.ActionLink("Add To Set", "AddToSet", routeValues: new { amount = getValue()}, htmlAttributes : new { @id="linkSet", @class = "col-sm-2" }) 

$(函数(){
var getValue=函数(){
返回$(“#addtoset”).val();
};
});
@TextBox(“addtoset”,Html属性:new{@id=“addtoset”,“class=”col-sm-10“})
@ActionLink(“添加到集合”,“添加到集合”,路由值:new{amount=getValue()},htmlAttributes:new{@id=“linkSet”,@class=“col-sm-2”})

将onclick处理程序添加到ActionLink调用的htmlattributes部分,如下所示:

@Html.ActionLink("Add To Set", "AddToSet", routeValues: new { amount = getValue()}, htmlAttributes : new { @id="linkSet", @class = "col-sm-2", onclick = "getValue" })
但是,如果这就是您的全部代码,那么您需要做更多的工作才能使其正常工作:)

如果希望该链接阻止导航,请将preventDefault()添加到callbackFunction

function callbackFunc(e) {
    e.preventDefault();
    // work here
}

那么,添加onclick属性是否会覆盖@Html.ActionLink()的默认行为?基本上,我需要的是从jquery函数中获取值,并将其作为routevalue传递给actionlink。你能解释一下上面是如何实现的吗?然后我会在输入字段中添加一个onchange或onkeydown事件,它会更新链接中的“Action”。但是为什么你要让用户选择一个动作/控制器呢?他们是如何知道你的模型的?用户没有在这里选择操作/控制器。只是我想将jquery函数中的一个值分配给amount字段(amount=getValue())。如果不可能,我将使用通常的方式将jquery函数连接到html链接?只需发布表单中的值。。不要使用链接!