陪伴而非守候
2022-05-14 15:22:45
我是 C# 新手,想在 javascript 中獲取我的 C# 值我發現這樣做var javacriptVariable = "<%=CsVariable%>";應該得到我的 .cs 文件的值 CsVariable aut。但是,當我記錄它時,它記錄<%=CsVariable%>為字符串如何從 m C# 文件中獲取值?
3 回答

慕森王
TA貢獻1777條經驗 獲得超3個贊
我通常采用的方法是將 C# 值分配給一個隱藏的輸入字段,您可以在其中從 javascript 獲取值數據。在 ASP.NET 中(看起來你正在使用,如果我錯了,請糾正我)你可以做類似的事情
<asp:HiddenField runat="server" id="hdnCsVariable" />
然后在頁面加載的后端 .cs 文件中
hdnCsVariable.Value = "My C# Value";
最后在 JS 中,因為 ASP.NET(通常)會生成一些可怕的 id,你可以使用“ends with”選擇器來獲取隱藏的輸入,就像這樣
console.log(document.querySelector("input[id$='hdnCsVariable']").value); // logs "My C# Value"

浮云間
TA貢獻1829條經驗 獲得超4個贊
在 Asp.net 中,您可以輕松使用
使用變量
受保護的全局::System.Web.UI.WebControls.TextBox MyTextBox;
'<%= MyTextBox.ClientID %>'
使用功能
'<%=UI.ClassName.GetFunctionName%>'

FFIVE
TA貢獻1797條經驗 獲得超6個贊
雖然 Dans 解決方案會起作用,但這是我個人會選擇的替代方案。
示例用法:
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "script", string.Format("var myVariable = {0};", 123), true);
以下內容會將您放在第三個參數中的任何內容呈現為頁面上的腳本,因此我會將其放在 PostBack 或 onPageLoad 中。
添加回答
舉報
0/150
提交
取消