Здесь я использую простое приложение и, нажав кнопку отправить, я выполню действие Index httppost.Но по какой-то причине, если моя капча не верна, я пытаюсь загрузить тот же вид.Я передаю коллекцию форм, поэтому мое имя и фамилия не уничтожены.Пожалуйста, подскажите, как мне сохранить мои значения.
[HttpPost]
public ActionResult Index(FormCollection dataColl)
{
ColComments datgrp = new ColComments();
datgrp.fname = dataColl[0].ToString();
datgrp.lname = dataColl[1].ToString();
if (!this.IsCaptchaValid(""))
{
ViewBag.Classname = "alert alert-warning";
ViewBag.ErrorMessage = "Incorrect captcha answer.";
}
else
{
ViewBag.ErrorMessage = "OKAY";
return RedirectToAction("Landing", "Account");
}
return View(dataColl);
}
Индексный просмотр.
@using CaptchaMvc.HtmlHelpers
@model CaptchaTestApp.Models.ColComments
@{
ViewBag.Title = "Home Page";
}
<div class="jumbotron">
<h1>ASP.NET</h1>
<p class="lead">ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript.</p>
<p><a href="http://asp.net" class="btn btn-primary btn-lg">Learn more »</a></p>
</div>
<div>
@using (Html.BeginForm())
{
<div> @Html.ValidationSummary(true)</div>
<fieldset>
<legend>ColComments</legend>
<div class="editor-label">
@Html.LabelFor(model => model.fname)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.fname)
@Html.ValidationMessageFor(model => model.fname)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.lname)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.lname)
@Html.ValidationMessageFor(model => model.lname)
</div>
</fieldset>
<table>
<tr>
<td colspan="3">
@Html.Captcha(8, "_captchaCnt")
</td>
</tr>
</table>
<p>
<input type="submit" value="Send" />
</p>
}
</div>