C# 从WebForms调用我的控制器的操作
需要:从WebForms调用我的控制器的操作,并在特定的div中设置结果 我的Web应用程序是用Webforms和Mvc编写的 我需要在我的Webforms中用另一个用MVC编写的视图替换用Webforms编写的用户控件 因此,如何在我的webform中调用mvc视图,我必须调用C# 从WebForms调用我的控制器的操作,c#,asp.net-mvc,webforms,C#,Asp.net Mvc,Webforms,需要:从WebForms调用我的控制器的操作,并在特定的div中设置结果 我的Web应用程序是用Webforms和Mvc编写的 我需要在我的Webforms中用另一个用MVC编写的视图替换用Webforms编写的用户控件 因此,如何在我的webform中调用mvc视图,我必须调用Webforms1.Aspx,内容必须包含我的视图mvc和其他视图。 但是没有使用response.Redirect,因为完整的流是打印的,但是我必须在小div中打印视图mvc 我试着写一个可以打印mvc视图的助手 &l
Webforms1.Aspx
,内容必须包含我的视图mvc和其他视图。
但是没有使用response.Redirect,因为完整的流是打印的,但是我必须在小div中打印视图mvc
我试着写一个可以打印mvc视图的助手
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="MvcApplication1.WebUserControl1" %>
<% RoutingWebFormSimulator.RenderViewMvc("~/Views/Home/Index.cshtml"); %>
在我的助手中,我搜索通过反射调用操作,但没有结果。我认为最简单的方法是通过AJAX将其拉入,其中
somePath
是您点击它时的URL(而不是像您所问的那样直接指向.cshtml文件)。我使用了类似于此的方法将部分拉入aspx
页面。如果不使用jQuery,则可以包含仅javascript版本:
<div id="example"></div>
<script>
$(document).ready(function () {
$.ajax({
url: "somePath",
success: function (data) {
$("#example").html(data);
}
});
});
</script>
$(文档).ready(函数(){
$.ajax({
url:“somePath”,
成功:功能(数据){
$(“#示例”).html(数据);
}
});
});
虽然webforms和MVC可以同时存在于同一个站点中,但它们不能真正相互交互,因为它们都有自己的处理管道。你所能期望的最好结果是@MikeSmithDev在下面建议的