我有一个模块控制器,它将一个视图页面(.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'的内容返回给函数(result){....}
答案 0 :(得分:2)
您需要对控制器的操作进行异步(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请求。
答案 1 :(得分:1)
我需要做一些熟悉的事情。我通过页面定义,我只是需要内容,作为部分视图。
然后,您可以对Jquery进行GET或POST操作,该操作可以按如下方式返回:
return PartialView("ViewName", model);
这也可以强烈输入模型。
然后,JQuery处理函数中的结果var将只包含您需要的HMTL。
答案 2 :(得分:0)
你有什么回电话?
$.get('/Module/Select/',
{ TemplateName: TemplateName }, function(result) {
alert(result); });
答案 3 :(得分:0)
您也可以使用:
$.load('/Module/Select/',
{ TemplateName: TemplateName },function(result) {
alert(result); });
});
希望这就是你要找的东西:)