I want to be able to increase the criteria number on button click
HTML markup:
<div class="criteria-header">
<span class="criteria-value">Criteria @ViewData["criteriaNo"]</span>
<div id="criteria-image">
<img src="~/images/red-cross.png" style="width: 100%" />
</div>
</div>
<input type="submit" value="Add new criteria" class="btn background-gold btn-180 btn-login col-2 criteria-btn" formaction="AddCriteria"/>
<input type="submit" value="Create" class="btn background-gold btn-180 btn-login col-2 criteria-btn" formaction="Create"/>
When I click on "Add criteria", I need it to increase the criteria number to 2,3,4 and so on.
But because in the controller I set the criteria number to 1 every time I click the button it will run through the controller and keep resetting the data.
public class JudgeController : Controller
{
int criteriaNo = 1;
public ActionResult JudgeCriteria()
{
ViewData["ShowCriteria"] = showCriteria;
ViewData["criteriaNo"] = criteriaNo;
Console.WriteLine(criteriaNo);
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult AddCriteria()
{
criteriaNo += 1;
showCriteria = true;
return RedirectToAction("JudgeCriteria");
}
}
Pass your criteria number from client side so you will be able to add it subsequently. And
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult AddCriteria(int number = 1)
{
number += 1;
showCriteria = true;
return RedirectToAction("JudgeCriteria", new { criteriaNo = number});
}
public ActionResult JudgeCriteria(int criteriaNo)
{
ViewData["ShowCriteria"] = showCriteria;
ViewData["criteriaNo"] = criteriaNo;
Console.WriteLine(criteriaNo);
return View();
}
After this pass your criteria from frontend and you will be good to go!