首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.NET纸牌游戏-为什么视图不显示?

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

Stack Overflow用户
提问于 2022-10-06 16:03:31
回答 1查看 69关注 0票数 0

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

目前,我的视图中有一个链接,它在点击时调用函数生成随机卡片。但是现在,链接将用户重定向到一个错误页面,并使用文本“找不到这个本地主页”。我只是想知道这是为什么?

链接在这里:

代码语言:javascript
运行
复制
    <a asp-controller="CardController" asp-action="PlayTurn" class="card">

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

代码语言:javascript
运行
复制
    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");
    }

这是视图的完整代码:

代码语言:javascript
运行
复制
    @model SnapCardGame.Models.Card
    @using Microsoft.AspNetCore.Http
    
    <div class="text-center">
        <h1 class="display-4">Welcome to the Card Page!</h1>
    
        @if (TempData.Peek("CardName") != null)
        {
            <a asp-controller="CardController" asp-action="PlayTurn" class="card">
                <ul>
                    <li>
                        @TempData.Peek("CardName")
                    </li>
                    <li>@TempData.Peek("CardValue")</li>
                    <li>@TempData.Peek("CardSuit")</li>
                </ul>
            </a>
    
        }
        else
        {
            <a asp-controller="Game" asp-action="PlayTurn" class="card">
                &nbsp;
            </a>
        }
    
        <a asp-controller="Game" asp-action="PlayTurn" class="card">
            &nbsp;
        </a>
    </div>

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

如果有人有任何建议,请随时通知我?

谢谢,

罗伯特·杨

伦敦,英国

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-07 01:22:06

将链接更改为:

代码语言:javascript
运行
复制
<a asp-controller="Card" asp-action="PlayTurn" class="card">

相应的控制器名称应该是Card,而不是CardController

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73976913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档