如何在 asp.net 中使用 C# 代码将参数传递给 JavaScript 函数
本文关键字:代码 参数传递 函数 JavaScript asp net | 更新日期: 2023-09-27 18:34:19
<% string s=LinkButton_ID.Text; %>
<asp:LinkButton ID="LinkButton_ID" runat="server" Text="LinkButton_Text" onclientclick="JscriptFunction(...)">
</asp:LinkButton>
我想将"s"作为参数发送到JscriptFunction。我尝试JscriptFunction(<% s %>);但不起作用。你有什么建议吗?谢谢<</p>
试试这个:
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>