我想在JavaScript中访问应用程序变量的值。我怎么能这样做?
答案 0 :(得分:1)
在codebehind中声明一个公共属性。
public string firstName = "Sanju";
像这样在JavaScript中访问它。
<script>
var myName;
function GetMyName()
{
myName = <%=this.firstName%>
}
</script>
要在会话状态中访问值,请使用此。
myName = '<%=Session["firstName"]%>'
要在“应用程序状态”中访问值,请使用此。
myName = '<%=Application["firstName"]%>'
答案 1 :(得分:0)
您可以在javascript中将变量设为public。
在代码背后。
public string YourVar = "hello";
在javascript中
alert("<%= YourVar %>");
注意一旦发送响应,服务器端变量的值将在生成的html / javascript中替换。如果您想在页面加载后从javascript访问它,那么您可能需要使用ajax调用来从服务器获取值。
答案 2 :(得分:0)
以下内容获取渲染控件的ClientID
//markup
<asp:TextBox ID="aTextBox" runat="server" />
<asp:TextBox ID="bTextBox" runat="server" />
<asp:TextBox ID="cTextBox" runat="server" />
//script
var Members =
{
aTextBox: $("#<%=aTextBox.ClientID %>"),
bTextBox: $("#<%=bTextBox.ClientID %>"),
cTextBox: $("#<%=cTextBox.ClientID %>")
}
答案 3 :(得分:0)
尝试会话... 在你的课堂上做一个会话(我假设你有一个General类)并使用它的引用在你想要的任何页面上访问它。但请记住,在使用之前必须先分配一个值。
e.g,
下面是UserID会话。
public static int UserId
{
get
{
if (HttpContext.Current.Session["UserId"] != null)
return Convert.ToInt32(HttpContext.Current.Session["UserId"]);
else
return 0;
}
set
{
HttpContext.Current.Session["UserId"] = value;
}
}
首先,您必须在应用程序启动后立即在会话中存储值。
User user = new user(); // consider you have a User class
protected void btnLogin_OnClick(object sender, EventArgs e)
{
_user.Username = this.txtUserName.Text;
_user.Password = this.txtPassword.Text;
if (_user.Validate())
{
General.UserID = _user.UserID; // here you are storing the id of logged in user
Response.Redirect("~/HomePage.aspx");
}
else
{
this.labelNotice.Text = "Invalid Username or Password";
}
}
要在javascript中的任何页面上访问此会话的值,
<%@ Import Namespace="MyProject.Models" %>
<script type="text/javascript">
var myID;
function GetMyID() {
myID= '<%=General.UserId%>';
}
</script>
我导入了常规类,该类位于 MyProject 解决方案的模型文件夹中。