¿Cómo obtener la entrada del usuario para el método de acción Ajax.ActionLink?
Supongamos que quiero usar el enlace de acción ajax para guardar un campo sin cambios para ver.
Aquí está mi vista (es una vista fuertemente tipada vinculada al tipo Modelo):
<%= Html.TextBox("myComment", Model.MyComment)%>
<%= Ajax.ActionLink("SAVE", "SaveComment", "Home",
Model, new AjaxOptions { HttpMethod = "POST"})
%>
Aquí está mi Action for ajax actionlink en el 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;
}
}
El problema es: no puedo obtener la entrada del usuario en el cuadro de texto para el método de acción Mycomment. Cualquiera que sea la entrada del usuario en el navegador para Mycomment, al hacer clic en Ajax ActionLink SAVE, luego verifico el valor del modelo param para Mycomment, no hay nada cambiado para MyComment.
Confundido es: El modelo debe estar obligado a ver de manera bidireccional. Pero para este caso, parece que no. Luego cambié la llamada Ajax.ActionLink a:
Ajax.ActionLink("SAVE", "SaveComment", "Home",
new {commentinput =Model.MyComment, new AjaxOptions { HttpMethod = "POST"})
luego se cambió la firma del método de acción como:
public void SaveComment(string commentinput)
Todavía no puedo obtener la entrada del usuario.
¿Cómo obtener la entrada del usuario en el método de acción del controlador?