如何使用javascript在.net标签助手属性中设置值?

时间:2018-02-22 21:05:26

标签: javascript c# jquery asp.net-core-tag-helpers

我正在尝试将从页面上的文本框中读取的参数值设置为此链接:

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

我假设你的for (int i = 0; i < stringArray.length; i++) { isLast = true; String currWord = stringArray[i].trim(); if (stringArray.length-1 != i) { isLast = false; } String quotes = "\""; if (isLast == false) { int nextNew = i+1; String nextWord = stringArray[nextNew].trim(); String thirdWord = stringArray[nextNew+1].trim(); String fourthWord = stringArray[nextNew+2].trim(); // rest of the code 是一个javascript函数

在 javascript进入之前生成了Tag Helper,因此当服务器生成html时,它不知道getClientNumber() 是这样将被视为文字字符串

因此,正确的方法是在客户端号码可用时使用jquery修改url

类似的东西:

  1. 为锚点添加标识符 - 这样您就可以轻松地使用jquery访问它并删除路径

    getClientNumber()
  2. 修改锚点的属性,以便在clientNumber准备就绪时包含clientNumber,或使用javascript导航到它

    <a id="aRetriveEmail" asp-action="RetrieveEmailRecipients">Retrieve Email Recipients</a>