我有一个模块控制器,该控制器将视图页面(.aspx)返回(提供)到main.aspx页面中
但是现在我希望控制器将.aspx页的全部内容返回到该控制器已被调用的javascript函数中
请帮助
我在main.aspx中的调用函数
$.get('/Module/Select/',
{ TemplateName: TemplateName }, function(result) {
alert(result);
});
我的控制器
public ActionResult Select(string TemplateName)
{
return View(TemplateName);
}
它应将'TemplateName'的内容返回给函数(结果){....}
最佳答案
您需要对控制器的动作进行异步(ajax)调用,并将对象作为JSON传递。在成功回调函数中,只需对结果求值就可以得到对象。
$("#yourButtonId").click(function(ev) {
ev.preventDefault();
$.get('/Module/Select/',
{ TemplateName: TemplateName }, function(result) {
var myObject = eval('(' + result + ')');
alert(myObject);
});
});
在您的控制器中,检查请求是否为ajax请求,然后将对象作为JSON返回。
public ActionResult Select(string TemplateName)
{
if (Request.IsAjaxRequest())
{
return Json(TemplateName);
}
return View(TemplateName);
}
这样,您的操作将适用于ajax和非ajax请求。