不幸的是,由于传统软件,我需要在MVC项目中渲染Aspx页面。而且我认为我需要通过使用JQuery的加载方法来实现这一点,并将aspx页面加载到div中。我有一个MVC3项目。这个项目包含一个带有Index方法和当前索引视图的HomeController。
HomeController中:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace CombiningMVCAndAspx.Controllers
{
public class HomeController : Controller
{
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
}
}
返回索引视图:
<script type="text/javascript">
$(document).ready(function () {
alert('loading dashboard...');
$('#dashboard').load('~/WebForms/WebForm1.aspx', function (response, status, xhr) {
if (status == "error") {
var msg = "Sorry but there was an error: ";
$("#error").html(msg + xhr.status + " " + xhr.statusText);
}
});
});
</script>
@{
ViewBag.Title = "Index";
}
<h2>
Index</h2>
<div id="dashboard">
</div>
<div id="error">
</div>
WebForm1.aspx是我要在仪表板div中加载的页面。不幸的是,我得到错误404 Not Found。这并不令人惊讶,因为MVC中的路由工作方式不同。但是我的google fu让我失望了,我对MVC的熟练程度不足以解决这个问题。有人可以帮帮我吗?提前谢谢你和我一起思考。