如何在asp.net mvc 3中使用@html.actionlink传递文本框值

kir*_*nsh 11 asp.net-mvc asp.net-mvc-3

如何在asp.net mvc3中使用@html.actionlink传递文本中的值?

tod*_*dmo 15

这里的答案都没有真正奏效.接受的答案不会刷新页面,因为正常的操作链接会; 其余的根本就根本不起作用,或者希望你放弃你所陈述的问题并退出使用ActionLink.

MVC3/4

您可以使用htmlAttributes的的ActionLink方法做你想要什么:

Html.ActionLink("My Link Title", "MyAction", "MyController", null, new { onclick = "this.href += '&myRouteValueName=' + document.getElementById('myHtmlInputElementId').value;" })
Run Code Online (Sandbox Code Playgroud)

MVC5

已报告以下错误,但我尚未验证它:

检测到潜在危险的Request.Path值

  • 在MVC5中工作正常,谢谢! (2认同)

Sur*_*tha 6

不要使用@ Html.actionlink传递您的值,而是尝试使用jquery将文本框值传递给控制器​​:

$(function () {
    $('form').submit(function () {
        $.ajax({
            url: this.action,
            type: this.method,
            data: { search: $('#textboxid').val()},
            success: function (result) {
                $('#mydiv').html(result);
            }
        });
        return false;
    });
});
Run Code Online (Sandbox Code Playgroud)

此代码将您的文本框值发布到控制器并返回将在div"mydiv"中加载的输出结果.


Rzv*_*.im 5

要将数据从客户端传递到服务器,您可以使用 html 表单:

  @using (Html.BeginForm(actionName,controllerName)) {
    <input type="text" name="myText"/>
    <input type="submit" value="Check your value!">
}
Run Code Online (Sandbox Code Playgroud)

确保在控制器的方法中捕获 myText 变量