我想将文本框的值从锚标记传递给控制器方法,基本上我想将它从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;
}
答案 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控制器方法