如何将文本框的值从锚标记传递到asp.net mvc中的控制器方法

时间:2014-01-02 16:20:14

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

我想将文本框的值从锚标记传递给控制器​​方法,基本上我想将它从javascript函数传递给控制器​​方法。我无法理解如何将值传输到搜索和当前页面到控制器。下面是一个代码片段请帮忙解决..谢谢..

<script>
  $(document).ready(function () {
            $('#Button1').click(function () {
                $.ajax({
                    type: 'POST',
                    contentType: "application/json; charset=utf-8",
                    url: 'Home/getUsersList',
                data: "{'searchString':'" + document.getElementById('searchString').value + "'}",
                    async: false,
                    success: function (response) {
                        $('#showData').html(response)
                    },
                    error: function () { alert("error"); }
                });
            });
        });
</script>

<body>
    @Html.TextBox("searchString")
</body>

<a class="@(p == ViewBag.CurrentPage ? "current" : "")" href="@Url.Action("getUsersList", "Home", new { page = p })">@p</a>

[HttpPost]
public ActionResult getUsersList(string searchString)
 {
         int page=1;
 }

3 个答案:

答案 0 :(得分:0)

首先我认为你的URL参数是错误的,使它看起来像这样,所以MVC将使用路由表处理它。同时添加dataType参数。

...
url: '@Url.Action("GetUserList", "Home")',
dataType: "json",
...

如果没有解决问题,请发布有关您的问题的更多信息(例如请求状态(404?)或任何.NET错误)

答案 1 :(得分:0)

试试这个而不是@Html.TextBox(“searchString”)

<input type="text" id="searchString" value="@zyz" />

并简单地执行此操作

$('#searchString').val()

答案 2 :(得分:0)

数据部分中的

以搜索字符串名称传递。

    <script>
  $(document).ready(function () {
            $('#Button1').click(function () {
                $.ajax({
                    type: 'POST',
                    contentType: "application/json; charset=utf-8",
                    url: 'Home/getUsersList',
                data: "{'searchString':'" + $('#searchString').val() + "'}",
                    async: false,
                    success: function (response) {
                        $('#showData').html(response)
                    },
                    error: function () { alert("error"); }
                });
            });
        });
</script>

我认为这对您有用,或者首先将文本框的值保存在其他变量中,然后传入数据然后接收getUsersList控制器方法