我正在嘗試從 JavaScript 中的 URL.Action 呼叫將引數傳遞給 ASP.Net MVC 控制器。我看到其他人發布了與此類似的內容,但不是我所擁有的確切情況,盡管我已嘗試實施這些解決方案,但他們沒有翻譯。
我在模態表單上有一個按鈕,我想在單擊它并關閉模態表單時呼叫控制器中的方法。
這是按鈕的 HTML:
<div class="modal-footer">
<button type="button" class="btn btn-default closing-modal" data-dismiss="modal">Done</button>
</div>
這是javaScript
$(document).on('click', '.closing-modal', function () {
var datePickers = document.getElementsByClassName("datepicker");
var times = document.getElementsByClassName("timeField");
var myStartDate = datePickers[0].value;
var myEndDate = datePickers[1].value;
var myStartTime = times[0].value;
var myEndTime = times[1].value;
window.location.href = '@Url.Action("ContractSelectedIndex", "ReviewTicket")';
});
這是控制器中的接收方法:
public ActionResult ContractSelectedIndex(string startDate, string startTime, string endDate, string endTime)
我嘗試了各種方法來添加新的 {},但由于 @ 我找不到正確的語法。這是我嘗試過的對我來說最有意義的方法(為了示例,只有第一個引數),但它不喜歡它。
window.location.href = '@Url.Action("ContractSelectedIndex", "ReviewTicket", new { startDate: ' myStartDate ')' ;
uj5u.com熱心網友回復:
如果你喜歡經典的 mvc 風格,你可以使用它
var url='@Url.Action("ContractSelectedIndex", "ReviewTicket")'
'/' startDate '/' startTime '/' endDate '/' endTime;
window.location.href = url;
在這種情況下,您的操作應該是
[Route("~/ReviewTicket/ContractSelectedIndex/{startDate}/{startTime}/{endDate}/{endTime}")]
public ActionResult ContractSelectedIndex(string startDate, string startTime, string endDate, string endTime)
或這個
var url='@Url.Action("ContractSelectedIndex", "ReviewTicket")'
'?startDate=' startDate '&startTime=' startTime '&endDate=' endDate '&endTime=' endTime;
window.location.href = url;
在這種情況下,您可以使用您現在擁有的操作
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/386289.html
上一篇:為什么將自定義宣告添加到副本后會出現在原始身份物件中?
下一篇:EF核心錯誤與事務但不使用事務
