我在 C# ASP 中有一個表單,兩個按鈕以不同的路徑提交。
<form asp-action="">
<button type="submit" data-action="Liquidation" class="btn-method-switchable">
<button type="submit" data-action="Return" class="btn-method-switchable">
我嘗試使用 Jquery 修改路徑:
$('.btn-method-switchable').click(function(e) {
e.preventDefault();
let value = $(this).data('action')
$('form').attr('asp-action', value);
$('form').submit();
})
我輸入了我的控制器,但沒有輸入 Liquidation 或 Return 方法。
謝謝你的回答
uj5u.com熱心網友回復:
該asp-action屬性僅在渲染前使用。當頁面被呈現時,它被轉換為標準的 HTML 表單action屬性。
另請注意,在客戶端,它的值從對操作名稱的參考轉換為路由的相對 URL。檔案中的更多詳細資訊。
因此,要糾正你的代碼,你需要設定action屬性,并修改data-action上button的元素是完全的路線。這可以使用Url.Action()助手來完成。代碼看起來像這樣:
<form>
<button type="submit" data-action="@Url.Action("Liquidation")" class="btn-method-switchable">Foo</button>
<button type="submit" data-action="@Url.Action("Return")" class="btn-method-switchable">Bar</button>
</form>
$('.btn-method-switchable').click(function(e) {
e.preventDefault();
let value = $(this).data('action')
$('form').attr('action', value).submit();
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/389892.html
