Имя 'p' не существует в текущем контексте с использованием JavaScript в ASP.net mvc

0

Я хочу передать два параметра методу контроллеров и изменить один параметр с помощью 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>
Теги:
asp.net-mvc
asp.net-mvc-3

1 ответ

1
Лучший ответ

Вы должны заменить только --- который вы используете в качестве заполнителя

  $(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;
    });
  });
  • 0
    Спасибо ... Сатпал это работает

Ещё вопросы

Сообщество Overcoder
Наверх
Меню