Como obter entrada do usuário para Ajax.ActionLink chamada para o método de ação?
Suponha que eu queira usar o link de ação do ajax para salvar um campo sem alterar a exibição.
Aqui está a minha opinião (é uma visão fortemente tipada vinculada ao tipo de modelo):
<%= Html.TextBox("myComment", Model.MyComment)%>
<%= Ajax.ActionLink("SAVE", "SaveComment", "Home",
Model, new AjaxOptions { HttpMethod = "POST"})
%>
Aqui está o meu action action para ajax action no controlador:
[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;
}
}
O problema é: não consigo obter a entrada do usuário na caixa de texto para Mycomment no método de ação. Seja qual for a entrada do usuário no navegador para Mycomment, quando clicar em Ajax ActionLink SAVE, então eu verifico o valor do modelo de parâmetro para Mycomment, não há nada alterado para MyComment.
Confuso é: O modelo deve ser ligado para ver no bi-way. mas para este caso, parece que não. Então mudei a chamada Ajax.ActionLink para:
Ajax.ActionLink("SAVE", "SaveComment", "Home",
new {commentinput =Model.MyComment, new AjaxOptions { HttpMethod = "POST"})
em seguida, alterou a assinatura do método de ação como:
public void SaveComment(string commentinput)
Ainda não consigo receber a entrada do usuário.
Como obter a entrada do usuário no método de ação do controlador?