【发布时间】:2012-04-05 01:11:48
【问题描述】:
我在我的控制器中使用 MVC3 WebGrid。我需要在列中有一个图像,这样当您单击该图像时,数据将传递给任何控制器内的操作。我想通过 Ajax 执行此操作,即单击图像不应导致回发,它应该是对某个控制器上的动作的 Ajax 调用。我想传递一个对象(模型),而不是任何字符串、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)));
【问题讨论】:
标签: ajax asp.net-mvc-3 webgrid