簡體   English   中英

如何在asp.net中使用C#代碼將參數傳遞給JavaScript函數?

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

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

我想將“ s”作為參數發送給JscriptFunction。 我嘗試JscriptFunction(<%s%>); 但不起作用。 你有什么建議嗎? 謝謝

嘗試這個:

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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM