如何将JavaScript函数返回的值作为asp-route值传递?

时间:2017-07-17 07:16:03

标签: javascript jquery kendo-ui asp.net-core-mvc

我需要做类似下面的事情 -

function GetParentID() {
    var tv = $('#treeview').data('kendoTreeView'),
    selected = tv.select(),
    item = tv.dataItem(selected);
    var Value= (item.ID);
    return Value;
}

然后我想像这样使用返回的值 -

<a asp-area="Marketing" asp-controller="Store" asp-action="Create" asp-route-ID="GetParentID()"  class="btn btn-default">Create</a>

我试图将值保存在隐藏的输入中,如下所示:

<input id="p_ID" type="hidden" />

然后填充此输入抛出jQuery,它的工作方式如下:

$('#p_ID').val(GetParentID());

但仍然无法将此值作为asp-route-ID传递给我如何实现类似的东西?

1 个答案:

答案 0 :(得分:4)

主要是asp-route-ID =“321545”Tag Helpers是服务器端助手,而不是客户端

因此,您不能在服务器端使用客户端脚本,如

JavaScript:仅处理Html和CSS(客户端)

C#+ Razor + TagHelpers:服务器端(在服务器上执行)

因此,其中一种方法是使用指向服务器的链接发送请求,并在服务器端分配值 要么 是看看如何在客户端上生成链接: / MyWeb即可/ MyPageIndex / 123545

如果我们可以说123545是asp-route-ID那么你需要: 调用链接并在客户端更改123545 例如:

EXEC msdb.dbo.sp_start_job @job_name = 'job_name',@step_name = 'test2'
你可以在这里阅读: http://www.davepaquette.com/archive/2015/06/01/mvc-6-anchor-tag-helper.aspx