繁体   English   中英

Asp.net MVC Actionlink动态添加路由值

[英]Asp.net MVC Actionlink Adding Route Value Dynamically

我需要将系统本地日期时间值发送到控制器。 我必须使用javascript,但actionlinks动态地从数据库列出。

我试过这个,但无法向控制器发送价值。

 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 = Nothing)As ActionResult

路线在这里;

  routes.MapRoute( _
name:="GetCitiesRestaurants", _
url:="Cities/SearchByCity/{aaaa}/{dddd}", _
defaults:=New With {.controller = "Cities", .action = "GetCitiesRestaurants", .aaaa= UrlParameter.Optional, .dddd= UrlParameter.Optional} _
)

我应该隐藏各种各样的隐私

如何将本地时间值发送给控制器?

假设您有一个这样的锚标记 -

<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;
    }

当您使用断点运行代码时,您将获得如下所示的日期 -

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM