C# 在模型属性中存储随机函数的值
尝试使用C#和MVC创建一个简单的石头、布、剪刀游戏。目前,用户可以在C# 在模型属性中存储随机函数的值,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,尝试使用C#和MVC创建一个简单的石头、布、剪刀游戏。目前,用户可以在文本框中成功输入值。我使用以下代码行返回文本框的结果:Your Guess:@Html.DisplayFor(m=>m.UsersGuess) 我的问题是如何将随机值存储在ComputerGuessmodel属性中。我在我的Business类中创建了一个ComputerGuess()方法,但不确定如何分配这个随机数。任何帮助都将不胜感激 查看 @using RockPaperScissors.Business @model R
文本框中成功输入值。我使用以下代码行返回文本框的结果:Your Guess:@Html.DisplayFor(m=>m.UsersGuess)
我的问题是如何将随机值存储在ComputerGuess
model属性中。我在我的Business类中创建了一个ComputerGuess()
方法,但不确定如何分配这个随机数。任何帮助都将不胜感激
查看
@using RockPaperScissors.Business
@model RockPaperScissors.Models.Game
@{
ViewBag.Title = "Games";
}
<h2>Rock, Paper, Scissors</h2>
@using (Html.BeginForm("Index", "Game"))
{
<div class="form-group">
<label>Enter your decision:</label>
@Html.TextBoxFor(m => m.UsersGuess, new { @class = "form-control", required = "required" })
</div>
<div>
<input class="btn btn-primary" type="submit" value="Guess" />
</div>
}
<h3>Your Guess:</h3> @Html.DisplayFor(m => m.UsersGuess)
<h3>Computers Guess: </h3> @Html.DisplayFor(m => m.ComputersGuess)
型号
namespace RockPaperScissors.Models
{
public class Game
{
public string UsersGuess { get; set; }
public int ComputersGuess { get; set; }
}
}
业务层
using System.Web.Mvc;
using RockPaperScissors.Models;
namespace RockPaperScissors.Controllers
{
public class GameController : Controller
{
// GET: Game
public ActionResult Index(Game userInput)
{
return View(userInput);
}
}
}
using System;
using System.Collections.Generic;
using RockPaperScissors.Models;
namespace RockPaperScissors.Business
{
public class ComputerLogic
{
public int ComputersGuess()
{
List<string> options = new List<string> { "Rock", "Paper", "Scissors" };
var randomizer = new Random();
var random = randomizer.Next(options.Count);
var getRandomValue = new Game
{
ComputersGuess = random
};
return getRandomValue;
}
}
}
使用系统;
使用System.Collections.Generic;
使用石头剪纸。模型;
剪纸剪,生意
{
公共类计算机逻辑
{
公共int计算机组()
{
列表选项=新列表{“石头”、“布”、“剪刀”};
var randomizer=new Random();
var random=randomizer.Next(options.Count);
var getRandomValue=新游戏
{
计算机guess=随机
};
返回getrandom值;
}
}
}
有点不清楚-你不想让@Html.DisplayFor(m=>m.ComputersGuess)
方法显示“石头”、“布”或“剪刀”,而不是int
?此时,我正计划使用它们的位置值来进行逻辑。我以后可能会更改,但最大的问题是我无法获取该随机数并将其存储在属性中。当前,您的方法声明了一个返回类型int
,但您试图返回Game
。它应该是返回随机数代码>。然后在控制器中,使用model.ComputersGuess=ComputersGuess()
以设置value@StephenMuecke我还是有点困惑。控制器中的型号来自何处。你能详细介绍一下控制器的外观吗?我假设这些更改将在Index
Controller方法中进行。GET方法不应该有一个复杂对象的参数-它应该是public ActionResult Index(){Game model=new Game(){ComputersGuess=ComputersGuess();return View(model);}