Ich möchte ein Wahlsystem machen, es wird ein Wort und 5 Optionen für dieses Wort geben. Diese Optionen werden abgestimmt. Hier ist mein Modell:Voting System in ASP.NET MVC 5
public int WordID { get; set; }
public string WordName { get; set; }
public string Option1 { get; set; }
public int Vote1 { get; set; }
public string Option2 { get; set; }
public int Vote2 { get; set; }
public string Option3 { get; set; }
public int Vote3 { get; set; }
public string Option4 { get; set; }
public int Vote4 { get; set; }
public string Option5 { get; set; }
public int Vote5 { get; set; }
In Word/Details habe ich Schaltflächen zum Wählen hinzugefügt. Hier sind sie:
<dt>
Word Name
</dt>
<dd>
@Html.DisplayFor(model => model.WordName)
</dd>
@using (Html.BeginForm("Vote", "WordController", new { id = Model.WordID}, FormMethod.Post))
{
<dt>
1st Option
</dt>
<dd>
@Html.DisplayFor(model => model.Option1) <button type="submit" name="submit1" value="Vote1"> Vote</button>
</dd>
<dt>
@Html.DisplayNameFor(model => model.Vote1)
</dt>
<dd>
@Html.DisplayFor(model => model.Vote1)
</dd>
<dt>
2nd option
</dt>
<dd>
@Html.DisplayFor(model => model.Option2) <button type="submit" name="submit2" value="Vote2"> Vote</button>
</dd>
<dt>
@Html.DisplayNameFor(model => model.Vote2)
</dt>
<dd>
@Html.DisplayFor(model => model.Vote2)
</dd>
}
Hier ist die Steuerung:
[HttpPost]
public ActionResult Vote(string submit, int? id)
{
Word word = db.Word.Find(id);
if(submit == "Vote1")
{
word.Vote1++;
}
else if (submit == "Vote2")
{
word.Vote2++;
}
else if (submit == "Vote3")
{
word.Vote3++;
}
else if (submit == "Vote4")
{
word.Vote4++;
}
else if (submit == "Vote5")
{
word.Vote5++;
}
return RedirectToAction("Index");
}
Wenn ich einen Vote Button klicken, bekomme ich diese URL http://localhost:55590/WordController/Vote/1 und es sagt Quelle nicht gefunden werden kann. Nämlich HTTP 404 Fehler. Wie kann ich das beheben? Vielen Dank.
In Ihrem Modell sollte Modell VoteOption sein? – jason
Sie haben Recht. Fest. – gzaxx
Sie schlagen also vor, einen Link anstelle einer Schaltfläche zu verwenden, oder? Wie können wir das mit Knopf machen? Und wie können wir das mit meinem Modell machen? Vielen Dank. – jason