[英]Invalid Expression term 'string' when i assign variable in client side
我如何在aspx頁面中分配變量?
看到我試過了
<div>
<asp:TextBox ID="UsernameTextBox" Text="xxx" runat="server"></asp:TextBox>
<%= string ss= UsernameTextBox.Text.ToString() %>
<asp:Button ID="btnLogin" runat="server"
OnClientClick="LoginPopup( <%= UsernameTextBox.Text %>); return false;"
CssClass="login-button" Text="xxx">
</asp:Button>
</div>
我已在字符串中分配了usernametextbox值
<%= string ss = UsernameTextBox.Text.ToString() %>
但是它顯示如下錯誤: Invalid Expression term'string'
為什么我不能這樣做? 可能嗎?
但是,如果我刪除了"string ss= "
那么它<%= UsernameTextBox.Text.ToString() %>
正常工作。
我無法將值分配給字符串變量。 為什么?
.NET中的錯誤?或任何錯誤的語法格式?
如果必須為變量分配值,則應使用常規腳本標記,例如:
<% string ss = UsernameTextBox.Text.ToString(); %>
以后,如果您想渲染該值,則可以執行以下操作:
<%= ss %>
您可能會看到: 嵌入式代碼和嵌入式服務器標簽
除了不是那么優雅的Spaghetti代碼之外,您的邏輯也有缺陷,您將始終獲得初始文本框值,而不是單擊時獲得當前值。
要一次殺死兩只鳥並擁有更好的代碼風格和有效的代碼,請首先將標記更改為:
<asp:Button ID="btnLogin" runat="server" OnClientClick="return LoginPopup();" CssClass="login-button" Text="xxx"></asp:Button>
現在在您的JS函數中包含以下內容:
function LoginPopup() {
var name = document.getElementById("<%=UsernameTextBox.ClientID%>").value;
//...code using the name here...
return false;
}
單擊立即讀取值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.