Как получить пользовательский ввод для вызова Ajax.ActionLink для метода действия?

Предположим, я хочу использовать ссылку действия ajax, чтобы сохранить одно поле без изменений для просмотра.

Вот мое мнение (это строго типизированное представление, привязанное к типу Model):

   <%= Html.TextBox("myComment", Model.MyComment)%>
   <%= Ajax.ActionLink("SAVE", "SaveComment", "Home",
       Model, new AjaxOptions { HttpMethod = "POST"})
   %>

Вот мое действие для ajax actionlink в контроллере:

[AcceptVerbs(HttpVerbs.Post)]
public void SaveComment(Model model)
{
    MyRepository repository = new MyRepository();
    Model mod = repository.GetModel(model.ID);
    mod.MyComment = model.MyComment;

    try
    {
        repository.Save();
    }
    catch(Exception ex)
    {
        throw ex;
    }          
}

Проблема в том, что я не могу получить пользовательский ввод в текстовое поле для Mycomment в действии. Каким бы ни был пользовательский ввод в браузере для Mycomment, когда я нажимаю на Ajax ActionLink SAVE, а затем проверяю значение из модели параметров для Mycomment, для MyComment ничего не меняется.

Смущает: модель должна быть двухсторонней. но для этого случая, похоже, нет. Затем я изменил вызов Ajax.ActionLink на:

Ajax.ActionLink("SAVE", "SaveComment", "Home",
       new {commentinput =Model.MyComment, new AjaxOptions { HttpMethod = "POST"})

затем изменил сигнатуру метода действия как:

public void SaveComment(string commentinput)

Я все еще не могу получить пользовательский ввод.

Как получить пользовательский ввод в метод действия контроллера?

Ответы на вопрос(1)

Ваш ответ на вопрос