如何在 asp.net 中使用 C# 代码将参数传递给 JavaScript 函数

How can I use C# code in asp.net to pass a parameter to a JavaScript function?

本文关键字:代码 参数传递 函数 JavaScript asp net      更新时间:2023-09-26
<% string s=LinkButton_ID.Text; %>
<asp:LinkButton ID="LinkButton_ID" runat="server" Text="LinkButton_Text" onclientclick="JscriptFunction(...)">
</asp:LinkButton>

我想将"s"作为参数发送到JscriptFunction。我尝试JscriptFunction(<% s %>);但不起作用。你有什么建议吗?谢谢<</p>

div class="answers">

试试这个:

JscriptFunction('<%= s %>');

不要忘记在 JS 函数调用中引用文本值。

编辑:

我没有注意到您对JscriptFunction的调用在您的服务器标签内。如果您无法访问 jQuery,传递按钮的客户端文本的最简单方法可能是:

onclientclick="JscriptFunction(this.innerHTML)"

下面是一个在jsFiddle上工作的例子。

还可以传递控件的客户端 ID 并使用 JavaScript 操作值。如果这样做,请确保在控件上设置了ClientIDMode="Predictable"ClientIDMode="Static"

您需要

将代码部分声明为 javascript,然后需要将 asp.net/c# 值输出为字符串。最简单的方法是:

<script type="text/javascript">
    var s = <% Response.write(LinkButton_ID.Text); %>;
    //do your other javascript stuff
</script>

<script type="text/javascript">
    var s = <%= LinkButton_ID.Text %>;
    //do your other javascript stuff
</script>

如果你需要围绕这个问题做更多的逻辑,你也可以在那里粘贴一个文字控件,并在代码隐藏中输出到它:

<script type="text/javascript">
    var s = <asp:literal id="litMyValue" runat="server">;
    //do your other javascript stuff
</script>

你可以传递的简单方法/相反,你可以在函数本身中使用它

喜欢

<script>
function JscriptFunction()
{
   var s = <%= LinkButton_ID.Text %>;
  // do what you want here.
}
</script>
<asp:LinkButton ID="LinkButton_ID" runat="server" Text="LinkButton_Text" onclientclick="JscriptFunction();"></asp:LinkButton>