asp.net - 使用 javascript、jquery 将 .ascx 页面呈现为 .aspx 页面

标签 asp.net javascript jquery asp.net-mvc partial

我有一个 aspx 页面,它具有以下 js 函数,该函数在单击按钮时调用


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

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

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

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

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

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

当我运行程序时,我收到 JavaScript 运行时错误,提示 “object expected” 请帮我解决这个问题

最佳答案

您的 JavaScript 调用将通过 MVC 管道进行另一次旅行。所以它会命中路由、 Controller ,然后是 View 。您的 JavaScript 不应尝试直接访问 ascx 文件,而应尝试访问映射到呈现 View 的 Controller 的路由。

您的 JS 应如下所示(注意这是使用根相对 URL,您可能需要进行调整):

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

或者,您可以使用 HTML 帮助程序来获取 URL,但 JS 必须在您的 View 中:

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

该 URL 将命中 TemplateController 上的 Temp1 操作

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

关于asp.net - 使用 javascript、jquery 将 .ascx 页面呈现为 .aspx 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1817981/

相关文章:

javascript - 使用 jQuery 从子弹出窗口动态填充父窗口上的选择选项

javascript - 将类添加到包含具有指定 href 的 <a> 的 div 中的表

c# - 生成器设计模式 : Accessing/Passing model data to/in Concrete classes

javascript - 前端应用程序的 Angular 路由

javascript - Asp .Net Mvc Bundle错误的脚本路径

javascript - 将 UI Fabric PeoplePicker 与 React 结合使用需要什么特别的东西吗?

jquery - HttpStatusCodeResult.StatusDescription 有多可靠?

javascript - 将用 jQuery 编码的图像 slider 转换为纯 JS

asp.net - 我的页面高度导致 gridview 出现问题

asp.net - ASPX 背后的代码问题