【问题标题】:URL issue in MVC4 Mobile website (Razor View Engine) with AJAX使用 AJAX 的 MVC4 移动网站(Razor 视图引擎)中的 URL 问题
【发布时间】:2012-10-11 12:15:36
【问题描述】:

我正在 MVC4 中开发一个移动网站(使用 Razor 视图引擎)。 我面临的问题是,当我使用 RedirectToAction() 方法导航到不同的视图时,会提供新视图,但浏览器中的 URL 保持不变。

我对其进行了搜索,发现如果我在我的页面上禁用 AJAX(通过设置属性 [data-ajax=false])然后它开始正常工作(即显示正确的 URL)。但是 Ajax 停止工作。

但我的问题是我无法为移动网站禁用 AJAX,我需要为每个页面显示正确的 URL。

编辑:

[HttpPost]
public ActionResult Search(string btnSelection)
{
  //Some code here... 
  //Then redirect to another View using following command:
  return RedirectToAction("SelectTask", "Task");
}

但是要在 MVC4 移动端实现正确的 URL 显示,我必须在 View 中设置以下属性:

@using (Html.BeginForm("Search", "Task", FormMethod.Post, new { data_ajax = false }))

但这会停止 AJAX。任何想法如何使用 AJAX 解决此问题?

如果可以的话请尽快帮忙。

谢谢。

【问题讨论】:

  • 你应该重定向到一个动作而不是一个视图......我错过了什么吗???显示您的代码!
  • @Arno :我在编辑中添加了代码。请检查。

标签: ajax c#-4.0 asp.net-mvc-4


【解决方案1】:

Ajax 不适用于导航。如果您有要保存的数据或使用链接(例如@Html.ActionLink("Home", "Index", "Home"))重定向到另一个视图,则必须提交表单。

【讨论】:

  • 嗯,但我需要在导航到另一个视图之前填充会话。当我导航到另一个视图时是否可以提交表单。
  • @AshishDiwakar 你有两个选择,如果你提交了ajax,那么你将不会在服务器上被重定向,但你可以在使用javascript成功后在客户端上重定向。在这种情况下,更常用的方法是不使用 ajax,而是正常提交​​表单,您会被重定向。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-14
  • 1970-01-01
  • 2017-02-05
  • 2014-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多