我有一个导航栏,它使用JQuery在注册过程的4个阶段之间移动。发布表单并重定向到操作ASP.NET MVC
但是我需要确保一切正在JS禁用。
所以我有这4个链接图像在页面的底部,我需要这样如果一个被点击它发布到当前的行动,所以我可以保存所有的表单数据,然后重定向到下一个阶段。
重定向很容易,因为我只是在路由或表单中传递一个参数,但我不知道如何使用操作链接发布该方法。
我可以把4个不同类别的提交按钮用于图像背景等,但这种感觉不对。
任何想法?
我有一个导航栏,它使用JQuery在注册过程的4个阶段之间移动。发布表单并重定向到操作ASP.NET MVC
但是我需要确保一切正在JS禁用。
所以我有这4个链接图像在页面的底部,我需要这样如果一个被点击它发布到当前的行动,所以我可以保存所有的表单数据,然后重定向到下一个阶段。
重定向很容易,因为我只是在路由或表单中传递一个参数,但我不知道如何使用操作链接发布该方法。
我可以把4个不同类别的提交按钮用于图像背景等,但这种感觉不对。
任何想法?
你可以有多个提交按钮你形式:
<input type="submit" name="step1" value="Step 1"/>
<input type="submit" name="step2" value="Step 2"/>
<input type="submit" name="step3" value="Step 3"/>
,并在你的行动:
public ActionResult Action(FormCollection form)
{
if (!string.IsNullOrEmpty(form["step1"]))
{
// Step 1 button was clicked
}
else if (!string.IsNullOrEmpty(form["step2"]))
{
// Step 2 button was clicked
}
else if (!string.IsNullOrEmpty(form["step3"]))
{
// Step 3 button was clicked
}
...
}
没有Javascript,一个简单的链接不能通过POST提交。你必须使用提交按钮来完成它。幸运的是,HTML提供了一个简单的方法来做到图像提交按钮:
<input type="image" src="http://url/to/image" alt="Step 1" id="btnStep1" />
您可以随时添加的jQuery处理的Javascript的能力:
$('#btnStep1').click(function(){...});
您可以使用我在the net上找到的属性,该属性处理同一表单上的多个按钮。这将决定哪个动作在控制器上执行。因此,您可以在控制器上执行4个操作,并根据哪个按钮被点击而执行正确的操作,而不管它被调用的位置。
这么小的例子;标记......
<input type="submit" name="action" value="step1"/>
<input type="submit" name="action" value="step2"/>
<input type="submit" name="action" value="step3"/>
<input type="submit" name="action" value="step4"/>
控制器
则...
[HttpPost]
[MultiButton(MatchFormKey = "action", MatchFormValue = "step1")]
public ActionResult Step1(/* parameters */) { ... }
[HttpPost]
[MultiButton(MatchFormKey = "action", MatchFormValue = "step2")]
public ActionResult Step2(/* parameters */) { ... }
[HttpPost]
[MultiButton(MatchFormKey = "action", MatchFormValue = "step3")]
public ActionResult Step3(/* parameters */) { ... }
[HttpPost]
[MultiButton(MatchFormKey = "action", MatchFormValue = "step4")]
public ActionResult Step4(/* parameters */) { ... }
然后,您可以在注册过程中(在任何步骤之间单击大概一旦验证完成后,你已经通过了各第一)相对容易。
希望这可以帮助别人。我只是提出了问题发布日期,但认为我会发布这个无论如何:-)
谢谢你看起来像我将有一个4提交按钮的形式。 虽然我怎么知道按钮被点击了? – ddd 2009-07-15 22:03:09