Я использую MVC3 WebGrid внутри моего контроллера. Мне нужно иметь изображение в столбце, чтобы при нажатии на это изображение данные передавались в действие внутри любого контроллера. Я хочу сделать это через AjaxТо есть нажатие на изображение не должно вызывать обратную запись, это должен быть Ajax-вызов Action для некоторого контроллера. И я хотел бы передать объект (модель), а не любую строку, или int, или что-то еще).
public ActionResult AddInGrid(AjaxModel m)
{
if (Session["ajaxmodel"] == null)
{
Session.Add("ajaxmodel", a.am);
}
List<AjaxModel> list = (List<AjaxModel>)Session["ajaxmodel"];
list.Insert(0, m);
Session.Add("ajaxmodel", list);
WebGrid g = new WebGrid(list);
IHtmlString s = g.GetHtml();
string s1 = s.ToString();
return Json(new { text = s1 });
}
Что следует поместить в метод GetHtml () ??РЕДАКТИРОВАТЬ: Вот то, что я пробовал до сих пор, и это не работает: я узнал, что HTML-рендеринг на Ajax.ActionLink и попытался включить это
WebGrid g = new WebGrid(list);
string link = string.Format(@"<a data-ajax='true' data-ajax-method='GET' data-ajax-mode='replace' href='/Home/Delete/{0}' />Delete</a>",item.fname);
IHtmlString s = g.GetHtml(g.Columns(g.Column(format:link)));