Я хочу передать два параметра методу контроллеров и изменить один параметр с помощью javascript, но другой параметр p недоступен внутри javascript, который объявлен в разделе body. Ниже приведен код, который я использую. Пожалуйста, дайте предложение.
<html>
<head>
<script src="@Url.Content("~/Scripts/jquery-1.5.1.js")" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$('.linkAction').click(function (e) {
$('.linkAction').attr('href', '@Url.Action("UsersList", "Home", new { page=p,str = "---" })'.replace("---", $('.txtString').val()));
});
e.preventDefault();
});
</script>
</head>
<body>
@Html.TextBox("Strings", null, new { @class = "txtString" })
<input type="button" value="filter" id="Button1" />
<div class="pagination">
@for ( p = 1; p <= ViewBag.Total; p++)
{
<a href="@Url.Action("UsersList", "Home", new { page=p,str = "---" })" class="linkAction">@p</a>
}
</div>
</body>
</html>
Вы должны заменить только ---
который вы используете в качестве заполнителя
$(document).ready(function () {
$('.linkAction').click(function (e) {
//redirect with updated parameter
window.location.href = $(this).attr('href').replace("---", $('.txtString').val());
//Prevent default action
return false;
});
});