3
假設我想使用ajax操作鏈接來保存一個字段而不改變視圖。如何獲取Ajax.ActionLink調用動作方法的用戶輸入?
這是我的看法(它是綁定到類型模型一個強類型的視圖):
<%= 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)
我仍然不能得到用戶的輸入。
如何獲取控制器操作方法中的用戶輸入?
感謝。但我的觀點是一個表,<%= Html.TextBox(「myComment」,Model.MyComment)%>是表中的每一行。 – KentZhou 2009-07-18 23:10:29