![](/img/trans.png)
[英]ASP.NET MVC and Javascript - Submit button submitting form, onclick @URL.Action not firing
[英]Embedding form values in an ASP.Net MVC JavaScript URL.Action Call
我正在尝试将参数从 JavaScript 中的 URL.Action 调用传递给 ASP.Net MVC controller。 我看到其他人发布了与此类似的内容,但不是我所拥有的确切情况,尽管我尝试实施这些解决方案,但它们没有翻译。
我在模态表单上有一个按钮,当单击它并关闭模态表单时,我想调用 controller 中的方法。
这是按钮的 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")';
});
这是controller中的接收方法:
public ActionResult ContractSelectedIndex(string startDate, string startTime, string endDate, string endTime)
我尝试了各种方法来添加新的 {},但由于 @ 我找不到正确的语法。 这是我尝试过的对我来说最有意义的方法(为了示例,只有第一个参数),但它不喜欢它。
window.location.href = '@Url.Action("ContractSelectedIndex", "ReviewTicket", new { startDate: ' + myStartDate + ')' ;
如果你喜欢经典的 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;
在这种情况下,您可以使用您现在拥有的操作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.