【发布时间】:2012-01-24 02:50:22
【问题描述】:
我有一个 MVC 表单,其中包含一些与我的模型无关的字段。这些字段包含用户提供的信用卡信息。一旦用户填写表格并单击继续,我将在我的控制器中执行一些信用卡验证。如果信用卡交易成功,我会关注其他与 Model 相关的字段,然后将用户带到 Finish/confirmation 页面。这么多效果很好。
但是,如果信用卡交易不成功,我基本上希望让用户在同一页面上仍然填写所有字段,即使这些信用卡字段与我的模型无关。事实证明这很困难,因为表单上的所有字段似乎都被清除了。
感谢任何帮助。以下是我的几个表单控件:
<tr>
<td>ccFieldA:</td>
<td>
<%= Html.TextBox("ccFieldA") %>
</td>
<td>
<label id="ccFieldAError" runat="server"></label>
<%= Html.Hidden("hiddenFieldA") %>
</td>
</tr>
<tr>
<td>ccFieldB:</td>
<td><%= Html.TextBox("ccFieldB") %></td>
<td>
<label id="ccFieldBError" runat="server"></label>
<%= Html.Hidden("hiddenFieldB") %>
</td>
</tr>
然后,在我的控制器中,我在 form-submit 上做这样的事情:
if (CreditCardPassesValidation()) {
return RedirectToAction("NextPage", new { id = myID });
}
else {
return View(ThisSamePage);
}
【问题讨论】:
标签: asp.net-mvc credit-card asp.net-mvc-2-validation