Javascript Asp.net MVC Actionlink动态添加路由值
我需要向控制器发送系统本地日期时间值。我必须为此使用javascript,但actionlinks会从数据库中动态列出 我尝试此操作,但无法将值发送到控制器Javascript Asp.net MVC Actionlink动态添加路由值,javascript,html,asp.net-mvc,asp.net-mvc-4,Javascript,Html,Asp.net Mvc,Asp.net Mvc 4,我需要向控制器发送系统本地日期时间值。我必须为此使用javascript,但actionlinks会从数据库中动态列出 我尝试此操作,但无法将值发送到控制器 function getLocalTime (obj) { debugger var time = new Date(); var href = obj.getAttribute("href") href = href + '/&&
function getLocalTime (obj) {
debugger
var time = new Date();
var href = obj.getAttribute("href")
href = href + '/&&LocalTime=' + time.toLocaleTimeString();
this.href = href;
}
这是我的actionlink
@Html.ActionLink(item.Name, "Index", "Restaurants", New With { .aaaa= Model.aaaa,.bbbb= item.bbbb},New With{.onmouseover="getLocalTime(this);"})
如何向控制器发送本地时间值
编辑:
控制器在这里
功能索引(可选ByVal aaaa作为aaaa=
Nothing,可选ByVal bbbb作为整数=0,可选ByVal
cccc作为整数=0,可选ByVal LocalTime作为日期时间=
没有)作为结果
这里的路线
routes.MapRoute( _
name:="GetCitiesRestaurants", _
url:="Cities/SearchByCity/{aaaa}/{dddd}", _
defaults:=New With {.controller = "Cities", .action = "GetCitiesRestaurants", .aaaa= UrlParameter.Optional, .dddd= UrlParameter.Optional} _
)
为了隐私,我应该把变量藏起来
如何将localtime值发送到控制器
假设你有这样一个锚标签-
<a href="#" id="ClickMe">Click me</a>
当您使用断点运行代码时,您将获得如下所示的日期-
谢谢您的回复,但我发送了另一个带有localtime值的值。我编辑了问题“您能看一下添加的段落吗?”@cptc,我用其他参数更新了我的答案。请检查一下,我现在明白了。我将您的document.ready更改为正常功能,并将其称为点击标记事件。单击“将我的参数发送到js”函数并将所有参数发送到控制器时。非常感谢你!如何在没有ajax的情况下使用它?因为现在数据值发送控制器和控制器返回视图,但页面不重定向。我猜是阿贾克斯?
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>
$(document).ready(function () {
$("#ClickMe").click(function () {
var datetime = new Date();
jQuery.ajax({
type: "POST",
url: "@Url.Action("SendDate")",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ date: datetime, cccc : 10, bbbb : 20 }),
success: function (data) { alert(data); },
failure: function (errMsg) { alert(errMsg); }
});
});
});
</script>
public ActionResult SendDate(DateTime date, int cccc, int bbbb)
{
return null;
}