我有一个模块控制器,该控制器将视图页面(.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请求。

07-26 00:21