Как я могу получить данные в ajaxoption после запроса от ввода в бритве - PullRequest
0 голосов
/ 10 января 2012

Я хотел бы сделать POST-запрос, используя следующий код

<div class="editor-field" id="updateDiv" >
    @Html.EditorFor(model => model.UserName)
    @Html.ValidationMessageFor(model => model.UserName)
</div>
<div>
    @Ajax.ActionLink("Check Availability", "ValidateUsername", "Wizard", 
        new { username = "username"},
        new AjaxOptions() {
            UpdateTargetId = "msg",
            HttpMethod = "POST",
            LoadingElementId = "progress",
        }
    )
</div>

Но вместо передачи статического значения я хочу передать значение @Html.EditorFor(model => model.UserName) (пользовательское значение), как я могу это сделать?

1 Ответ

0 голосов
/ 10 января 2012

Во-первых, кажется, вы пытаетесь создать какую-то удаленную проверку.Этот механизм уже существует в MVC, поэтому вы можете использовать его с DataAnnotations

http://msdn.microsoft.com/en-us/library/gg508808(v=vs.98).aspx

Если я ошибаюсь в своем предположении, вы можете попытаться изменить свой код в соответствии с приведенным ниже.

Я бы пошел с добавлением htmlAttributes для установки идентификатора для ссылки следующим образом:

   @Ajax.ActionLink("Check Availability", "ValidateUsername", "Wizard",
   new {username = "username"},
    new AjaxOptions()
    {
        UpdateTargetId = "msg",
        HttpMethod = "POST",
        LoadingElementId = "progress",
    }, new { id = "CheckAvailabilityLink" }
)

имея это на месте, мы имеем прямую ссылку на этот элемент, чтобы мы могли отслеживать изменения втекстовое поле и обновите URL динамически

    <script type="text/javascript">
        $(document).ready(function () {
            $("#UserName").keyup(function (e) {  // textbox id here 

                var href = $("#CheckAvailabilityLink").attr("href").split("?", 1);
                $("#CheckAvailabilityLink").attr("href", href + "?username=" + $(this).val());
                alert($("#CheckAvailabilityLink").attr("href"));
            });
        });
    </script>

</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...