我一直在使用 .NET Core 將這款紙牌游戲構建為帶有 Gui 的 Web 應用程式。當用戶單擊代表撲克牌的空白矩形時,我希望生成一個具有隨機值(名稱、值和花色)的卡片物件,并將用戶回傳到顯示這些值的視圖在空白卡上。
目前,我的視圖中有此鏈接,該鏈接在單擊時呼叫該函式以生成隨機卡片。但目前該鏈接將用戶重定向到一個錯誤頁面,其中顯示“找不到此本地主機頁面”。我只是想知道這是為什么?
鏈接在這里:
<a asp-controller="CardController" asp-action="PlayTurn" class="card">
這是應該生成隨機卡的控制器操作:
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
<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">
</a>
}
<a asp-controller="Game" asp-action="PlayTurn" class="card">
</a>
</div>
我想通過臨時資料將隨機生成的值傳遞給視圖。不過,目前,我只是得到了結果頁面:

如果有人有任何建議,請隨時告訴我?
謝謝,
羅伯特楊
英國倫敦
uj5u.com熱心網友回復:
將您的鏈接更改為:
<a asp-controller="Card" asp-action="PlayTurn" class="card">
對應的控制器名稱應該是Card,而不是CardController。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/511740.html
標籤:C#htmlcssasp.net 核心.net-core
