.NET 纸牌游戏 - 为什么视图不显示?

分享于2022年10月08日 .net asp.net-core c# css html 问答
【问题标题】:.NET Card Game - why does the view not show?.NET 纸牌游戏 - 为什么视图不显示?
【发布时间】:2022-10-07 09:22:06
【问题描述】:

我一直在使用 .NET Core 将这款纸牌游戏构建为带有 Gui 的 Web 应用程序。当用户单击代表扑克牌的空白矩形时,我希望生成一个具有随机值(名称、值和花色)的卡片对象,并将用户返回到显示这些值的视图在空白卡上。

目前,我的视图中有此链接,该链接在单击时调用该函数以生成随机卡片。但此时,该链接将用户重定向到一个错误页面,其中包含文本“无法找到此本地主机页面”。我只是想知道这是为什么?

链接在这里:


    

这是应该生成随机卡的控制器操作:


    public IActionResult Create()
    {
        return View();
    }   
    
    public static string GetShortName(string name)
    {
        string result = name.Substring(0, 1);
    
        return result;
    }
    public static Card CreateCard()
    {
        Card[] card1 = new Card[11];
        Random rnd1 = new Random();
    
        Array suitvalues = Enum.GetValues(typeof(Suit)); // generates a random suit
        Suit randomSuit = (Suit)suitvalues.GetValue(rnd1.Next(suitvalues.Length));
    
        var i = rnd1.Next(card1.Length);
    
        var card = new Card()
        {
            Suit = randomSuit,
            Value = i,
            DisplayName = GetShortName(randomSuit.ToString())
        };
    
        return card;
    }
    public IActionResult PlayTurn()
    {
        var card = CreateCard(); // creates a random card
        TempData[\"CardName\"] = card.DisplayName;
        TempData[\"CardValue\"] = card.Value;
        TempData[\"CardSuit\"] = card.Suit.ToString();
        return Redirect(\"Card/Create\");
    }

这是视图的完整代码:


    @model SnapCardGame.Models.Card
    @using Microsoft.AspNetCore.Http
    
    


我想通过 Temp Data 将随机生成的值传递给视图。不过目前,我只是得到了结果页面:

如果有人有任何建议,请随时告诉我?

谢谢,

罗伯特杨

英国伦敦

  • asp-controller=\"Card\" 您没有指定“控制器”部分,因为它不是控制器名称的一部分。

【解决方案1】: