我需要将系统本地日期时间值发送到控制器。我必须使用javascript,但动作链接从数据库动态列出。
我试试这个,但无法向控制器发送价值。
function getLocalTime (obj) {
debugger
var time = new Date();
var href = obj.getAttribute("href")
href = href + '/&&LocalTime=' + time.toLocaleTimeString();
this.href = href;
}
这是我的行动链接
@Html.ActionLink(item.Name, "Index", "Restaurants", New With { .aaaa= Model.aaaa,.bbbb= item.bbbb},New With{.onmouseover="getLocalTime(this);"})
如何将本地时间值发送给控制器?
编辑:
控制器在这里;
功能索引(可选ByVal aaaa as aaaa = Nothing,可选ByVal bbbb As Integer = 0,可选ByVal cccc As Integer = 0,可选ByVal LocalTime As DateTime = 没什么)作为ActionResult
路线到这里;
routes.MapRoute( _
name:="GetCitiesRestaurants", _
url:="Cities/SearchByCity/{aaaa}/{dddd}", _
defaults:=New With {.controller = "Cities", .action = "GetCitiesRestaurants", .aaaa= UrlParameter.Optional, .dddd= UrlParameter.Optional} _
)
我应该隐藏varriables以保护隐私
答案 0 :(得分:2)
如何将本地时间值发送给控制器?
假设你有一个像这样的Anchor标签 -
<a href="#" id="ClickMe">Click me</a>
然后,您可以使用JQUERY AJAX以下列方式将本地日期发布到服务器控制器。将以下jquery点击函数与锚标记关联 -
<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;
}
当您使用断点运行代码时,您将获得如下所示的日期 -