我是jQuery mobile的新手,所以原谅任何疏忽。
我正在创建一个移动应用,其中包含一系列包含信息和表单的页面。在最简单的情况下,第一页有一个文本框来记录一个位置,然后通过表格帖子提交给控制器。当控制器保存此信息时,它会重定向到另一个操作。
using (Html.BeginForm("Index", "Controller"))
{
@Html.ValidationSummary("Please correct the errors below")
<div data-role="fieldcontain">
@Html.LabelFor(l => l.Location)
@Html.TextBoxFor(m => m.Location, new { placeholder = "Type Current Location" })
</div>
<input type="submit" data-icon="check" data-iconpos="right" value="Begin" />
}
提交帖子后,控制器会执行操作,然后返回:
return RedirectToAction("Search");
由于这是通过表单和回发来完成的,它只是加载新页面而不是使用jQuery转换。
我想做的是在从开始页面到搜索页面时使用转换。
我查看了其他各种questions,其中建议在表单的路由值中添加信息以附加data-transition
标记,例如:
using (Html.BeginForm("Login", "Account", FormMethod.Post, new Dictionary<string, object>{{ "data-transition", "pop" }} ))
或
等using (Html.BeginForm("Login", "Account", FormMethod.Post, new { data_transition = "pop" } ))
但这对我不起作用。
从其他谷歌搜索等中听起来应该是可能的,但是想知道是否由于我发布的方式然后从控制器重定向它将无法正常工作。
然后我认为由于转换的工作方式,通过将下一页加载到DOM中,然后可以将其设置为动画,我必须通过Ajax执行此操作。所以与其。使用@Html.BeginForm
帮助程序,然后使用jQuery将其附加到其上,以便表单执行$.Post
。此时我尝试返回类似这样的JavascriptResult question但是浏览器或者尝试下载脚本文件,或者只是加载了页面中发回的文本而没有其他内容。
但是,当我查看this question时,Darin的回答表明如果我想要的是重定向页面,那么就不需要使用Ajax。我同意这一点,好像我走错了方向。
有人可以澄清一下,如果我正在尝试使用jQuery mobile进行Posting和MVC,或者我是否需要进行一些繁重的代码修改以重新处理我的页面流以便可以使用转换?