簡體   English   中英

asp.net core 2.2+ web 應用程序上的多個表單

[英]Multiple forms on an asp.net core 2.2+ web application

有人可以解釋以下意外行為嗎? 我已經在核心 2.2 和 3.1 中對此進行了測試。

我試圖在同一個剃須刀頁面上發布 2 個不同的表單。

這是 HTML:

<form method="post">
    <button type="submit">post</button>
</form>

<form method="post">
    <button type="submit" asp-page-handler="WTF" >post wtf</button>
</form>

這是后面的剃刀頁面:

public void OnGet()
{
    Debug.WriteLine("Get");
}

public void OnPost()
{
    Debug.WriteLine("Post");
}

public void OnPostWTF()
{
    Debug.WriteLine("PostWTF");
}

我希望當我按下“發布”按鈕時,會調用 OnPost 操作。 當我按下“post wtf”按鈕時,會調用 OnPostWTF 操作。 有這種事。 如果我最初按下“發布”按鈕,則會調用預期的操作。 但是,一旦我按下“post wtf”按鈕,所有后續帖子只會調用 OnPostWTF 操作,無論按下哪個按鈕!

非常好的指南: https : //www.learnrazorpages.com/razor-pages/handler-methods

處理程序的名稱作為查詢字符串參數添加到表單的操作中。

因此,當您在沒有處理程序的情況下發布時,當前 url 將被發布到。

在您的情況下,它將是您使用查詢參數handler=WTF切換到的那個。

當您在同一頁面中有多個表單時,最佳實踐是為每個請求設置一個處理程序以避免此類麻煩。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM