繁体   English   中英

如何使用JavaScript在.net标记帮助器属性中设置值?

[英]How to set value in .net tag helper attribute using javascript?

我试图设置从页面上的文本框读取到此链接的参数值:

<a asp-action="RetrieveEmailRecipients" asp-route-clientnumber="getClientNumber()">Retrieve Email Recipients</a>

我在页面底部的其他地方放有Javascript。 但是遗憾的是,这不是将值传递给MVC操作方法的参数的正确方法。

实际读取的参数ClientNumber是asp-route-clientnumber中的字符串/值,在这种情况下,值为getClientNumber()。

使用javascript / jquery在属性中设置值的正确方法是什么?

您正在将服务器端代码和客户端代码混合在一起

我假设您的getClientNumber()是javascript函数

Tag Helper是 javascript传入之前生成的,因此,当服务器生成html时,它不知道getClientNumber()是什么,因此将其视为原义字符串

所以正确的方法是在客户端编号可用时用jquery修改url

就像是:

  1. 给锚一个标识符-这样您就可以使用jquery轻松访问它并删除路由

     <a id="aRetriveEmail" asp-action="RetrieveEmailRecipients">Retrieve Email Recipients</a> 
  2. 只要您准备好clientNumber,就可以修改锚点的属性以包括您的clientNumber,或者使用javascript导航到它

     $(function(){ $("#aRetriveEmail").click(function(){ // example of how modifying href when client number ready // $(this).attr("href", $(this).attr("href") + "?clientnumber=" + getClientNumber()); // or navigate to the url location.href = $(this).attr("href") + "?clientnumber=" + getClientNumber(); }) }) 

暂无
暂无

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

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