【发布时间】: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
Welcome to the Card Page!
@if (TempData.Peek(\"CardName\") != null)
{
-
@TempData.Peek(\"CardName\")
- @TempData.Peek(\"CardValue\")
- @TempData.Peek(\"CardSuit\")
}
else
{
}
我想通过 Temp Data 将随机生成的值传递给视图。不过目前,我只是得到了结果页面:
如果有人有任何建议,请随时告诉我?
谢谢,
罗伯特杨
英国伦敦
-
asp-controller=\"Card\"
您没有指定“控制器”部分,因为它不是控制器名称的一部分。