ASP MVC передает данные формы с помощью ActionLink - PullRequest
2 голосов
/ 26 января 2011

Я хотел бы иметь возможность передавать данные из текстового поля на странице в Tan Action с помощью ActionLink.

Я указываю actionLink следующим образом, на мой взгляд

@Ajax.ActionLink(
    "UTC",
    "GetTime",
    { zone="BST" },
    new AjaxOptions {
        InsertionMode = InsertionMode.Replace,
        UpdateTargetId = "TargetElementID",
        OnBegin = "GetTime_OnBegin",
    }
)

Поскольку я не вижу способа указать это в помощнике, я подумал реализовать событие OnBegin и сделать это там.Я отметил, что OnBegin получает XMLHttpRequest, содержащий детали запроса, который будет выполнен, и объект, чья цель ускользает от меня, но содержит свойство url object.url, а также object.context.url, поэтому я подумал добавить свойство Iнужно перейти к моему действию к URL-адресу, думая, что это разрешит одноименный параметр действия.

function GetTime_OnBegin(XMLHttpRequest, object) {
    object.context.url = object.context.url + "&text=" + $('TextBoxId').val();
}

Мой контроллер действия

public string GetTime(string zone, string text) {
        DateTime time = DateTime.UtcNow;
        return string.Format(
            "{0:h:mm:ss tt}({1},{2})",
            time, zone.ToUpper(),text);
}

Однако текст непрошло и всегда пусто.

Есть ли более элегантный способ сделать это?

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