Mor*_*oro 2 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;
}
Run Code Online (Sandbox Code Playgroud)
然后我想使用这样的返回值-
<a asp-area="Marketing" asp-controller="Store" asp-action="Create" asp-route-ID="GetParentID()" class="btn btn-default">Create</a>
Run Code Online (Sandbox Code Playgroud)
我尝试将值保存在隐藏输入中,如下所示:
<input id="p_ID" type="hidden" />
Run Code Online (Sandbox Code Playgroud)
然后填写这个输入 throw jQuery,它的工作方式是这样的:
$('#p_ID').val(GetParentID());
Run Code Online (Sandbox Code Playgroud)
但仍然无法将此值作为 asp-route-ID 传递我如何实现这样的目标?
主要是 asp-route-ID="321545" 标签助手是服务器端助手而不是客户端
因此,您不能在服务器端使用客户端脚本,例如
JavaScript:只处理 Html 和 CSS(客户端)
C# + Razor + TagHelpers:是服务器端(在服务器上执行)
因此,其中一种方法是使用链接向服务器发送请求并在服务器端分配值,或者查看如何在客户端生成链接:/MyWeb/MyPageIndex/123545
如果我们可以说 123545 是 asp-route-ID,那么您需要:调用链接并在客户端更改 123545 示例:
<a id="stest" href="/MyWeb/MyPageIndex/123545" />
$("#stest").attr("href", "/MyWeb/MyPageIndex/" + GetParentID());
Run Code Online (Sandbox Code Playgroud)
你可以在这里阅读:http : //www.davepaquette.com/archive/2015/06/01/mvc-6-anchor-tag-helper.aspx