The default connection machine does not work

I am new and I don’t know what I am doing wrong here. In my controller attempt, the Numbers object has no meaning, and the FormCollection shows that the numbers are placed correctly.

Model

public class Numbers { public int SelectedNumber; public int LastAttempt; } 

View

 @model PogodiBroj.Models.Numbers @{ ViewBag.Title = "Number Guessing"; } <h2>Guess the number</h2> <form action="/Home/Attempt" method="post"> <div> <label>Guess</label> @Html.EditorFor(x => x.LastAttempt) @Html.HiddenFor(x => x.SelectedNumber) <input type="submit" value="Try"/> </div> @{ if (this.IsPost == true) { if (Model.SelectedNumber > Model.LastAttempt) { <p>My number is greater</p> } else if (Model.SelectedNumber < Model.LastAttempt) { <p>My number is lesser</p> } else { <p>Score!</p> @Html.ActionLink("New game", "") } } } </form> 

controller

  public class HomeController : Controller { // // GET: /Home/ public ActionResult Index() { Random generator = new Random(); Numbers numbers = new Models.Numbers(); numbers.SelectedNumber = generator.Next(100); numbers.LastAttempt = 0; return View(numbers); } public ActionResult Attempt(Numbers result) { return View("Index", result); // result has both members set to 0 } } 
+4
source share
1 answer

The properties of your class must be defined using getters and setters:

 public class Numbers { public int SelectedNumber { get; set; } public int LastAttempt { get; set; } } 
+8
source

Source: https://habr.com/ru/post/1493439/


All Articles