C# 无效的表达式项';字符串';当我在客户端分配变量时
如何在aspx页面中分配变量 看,我试过了C# 无效的表达式项';字符串';当我在客户端分配变量时,c#,asp.net,string,variables,syntax-error,C#,Asp.net,String,Variables,Syntax Error,如何在aspx页面中分配变量 看,我试过了 <div> <asp:TextBox ID="UsernameTextBox" Text="xxx" runat="server"></asp:TextBox> <%= string ss= UsernameTextBox.Text.ToString() %> <asp:Button ID="btnLogin" runat="server"
<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() %>
但它显示的错误如下:无效的表达式术语“string”
为什么我不能那样做?可能吗
但是如果我删除了“string ss=“
”,那么
工作正常
我无法将值赋给字符串变量。为什么?
是.net中的错误?还是语法格式错误 如果必须为变量赋值,则应使用普通脚本标记,如:
<% string ss = UsernameTextBox.Text.ToString(); %>
稍后,如果要渲染该值,则可以执行以下操作:
<%= ss %>
您可能会看到:除了非常不优雅的意大利面代码之外,您的逻辑也有缺陷,您总是会得到初始文本框值,而不是单击时的当前值 要一举两得,同时拥有更好的代码样式和工作代码,首先将标记更改为:
<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;
}
函数LoginPopup(){
var name=document.getElementById(“”)值;
//…使用此处的名称进行编码。。。
返回false;
}
您现在单击时读取值。这个答案可能会帮助Gooood。现在我得到了值
,但它不是working@RameshRajendran,它应该是,所以不要使用它。我只是为了那些想使用它的人而展示更优雅的方式。另外,请查看如果用户名包含单个引号会发生什么情况。(提示:您的代码将中断,但此代码不会)