Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在模型属性中存储随机函数的值_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# 在模型属性中存储随机函数的值

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

尝试使用C#和MVC创建一个简单的石头、布、剪刀游戏。目前,用户可以在
文本框中成功输入值。我使用以下代码行返回文本框的结果:
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);}