在myC#MVC项目中,我有一个'Home'控制器,如下所示,
控制器
public ActionResult Index()
{
return this.View();
}
public ActionResult LoadVideo()
{
return RedirectToAction("LoadVideoExt");
}
public ActionResult LoadVideoExt()
{
return this.View();
}
我的问题是,运行代码时,我的网址就像http://localhost:51241/Home/Index
一样。我的Index
视图中有一个按钮,可以从那里调用LoadVideo
我将重定向到另一个操作并加载该页LoadVideoExt
。该过程工作正常,但最终视图不呈现,我的网址也没有相应更改(因为我期待http://localhost:51241/MyJob/LoadVideoExt
)。我在这里有点困惑。有人可以帮助我或指出我在正确的道路上吗?
下面附带示例代码。
查看(Index.cshtml)
function uploadMedia() {
linkUrl = '@Url.Action("LoadVideo", "Home", new { area = string.Empty })';
var formData = new FormData($('#fromIndex')[0]);
$.ajax({
url: linkUrl,
type: 'Post',
data: formData,
cache: false,
contentType: false,
processData: false,
beforeSend: function () { },
success: function (result) {
alert(0);
},
xhr: function () { // Custom XMLHttpRequest
var myXhr = $.ajaxSettings.xhr();
if (myXhr.upload) { // Check if upload property exists
// Progress code if you want
}
return myXhr;
},
error: function () {
}
});
}
RouteConfig.cs
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "DefaultMultipleParams",
url: "{controller}/{action}/{id}/{state}"
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
查看(LoadVideoExt.cshtml)
@{
ViewBag.Title = "LoadVideoExt";
}
<h2>Gotcha!</h2>
在运行代码时,假设我的网址与http://localhost:51241/MyJob/Index
一样。我在“索引”视图中有一个按钮,可以从那里调用LoadVideo
我将重定向到另一个操作并加载该页面LoadVideoExt
。该过程工作正常,但最终视图不呈现,我的网址也没有相应更改(因为我期待http://localhost:51241/MyJob/LoadVideoExt
)。我在这里有点困惑。有人可以帮助我或指出我在正确的道路上吗?