2
<% string s=LinkButton_ID.Text; %>
<asp:LinkButton ID="LinkButton_ID" runat="server" Text="LinkButton_Text" onclientclick="JscriptFunction(...)">
</asp:LinkButton>

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

4

3 回答 3

3

试试这个:

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

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

编辑:

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

onclientclick="JscriptFunction(this.innerHTML)"

这是一个在 jsFiddle 上工作的示例。

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

于 2012-05-16T19:48:34.617 回答
2

您需要将您的代码部分声明为 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>
于 2012-05-16T19:48:16.443 回答
0

你可以通过简单的方法/而不是你可以在函数本身中使用它

<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>
于 2012-05-17T09:57:59.823 回答