2009-11-30 120 views
1

我有点击它具有以下被称为按钮js函数aspx页面使用渲染的.ascx页面到.aspx页面中的javascript,jquery的


<input type="button" onclick="calltemp1()" value="Temp1"/> 

<script type="text/javascript"> 
     function calltemp1() { 

      $("#Renderthisdiv").load("/Views/Templates/_Temp1.ascx"); 
     }    
    </script> 

我_Temp1.ascx页面呈现另一个页面Temp1.ascx my _Temp1.ascx包含

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> 

<div> 
<%Html.RenderPartial("/Views/Templates/Temp1.ascx"); %> 
</div> 

当我运行程序我得到的JavaScript运行错误说“预期目标” 请帮我解决这个问题

回答

0

只需添加相应的操作控制器,所以你可以使用jQuery呈现它:

public class TemplateController : Controller { 
    public ViewResult Temp1() { 
     return View("_Temp1") 
    } 
} 
2

您的JavaScript调用将通过MVC管道进行另一次旅程。所以它会碰到路由,控制器,然后是一个视图。您的JavaScript不应直接尝试直接访问ascx文件,而是映射到呈现视图的控制器的路径。

你的JS应该是这样的(注意,这是使用根相对URL,你可能需要调整):

$("#Renderthisdiv").load("/template/temp1"); 

或者,您也可以使用HTML帮助来获取URL,但JS将要在您的视图:

$("#Renderthisdiv").load("<%= Html.Action("temp1", "template") %>"); 

该网址会击中TemplateController

public class TemplateController : Controller { 
    public ViewResult Temp1() { 
      return View("Temp1"); 
    } 
} 
的TEMP1行动