同一个aspx,我想获取前台想获取后台的UserID,怎么做
1:用隐藏域获取ViewState
protected void Page_Load(object sender, EventArgs e)
{//把用户的昵称传到客户端显示,并将userID放到隐藏域
if (Session["UserID"] != null)
{
userid = Session["UserID"].ToString();
lab_Nickname.Text = Session["Nickname"].ToString();
//Response.Write(userid);
if (ViewState["userid"] == null)
{
ViewState["userid"] = userid;
}
else {
ViewState["userid"] ="";
}
前台: <input id="userid"type="hidden" value="ViewState('userid')" /> 结果提示:ViewState未定义;2:我在后台建了个函数
public string postUserID()
{
if( userid!=null){
return userid;
}
else
{
return "";
}
}然后JS: var userid=<%=postUserID()%>;结果提示“应为表达式”哪里错了?还有别的办法吗?请各位帮忙看看,谢谢了~~
1:用隐藏域获取ViewState
protected void Page_Load(object sender, EventArgs e)
{//把用户的昵称传到客户端显示,并将userID放到隐藏域
if (Session["UserID"] != null)
{
userid = Session["UserID"].ToString();
lab_Nickname.Text = Session["Nickname"].ToString();
//Response.Write(userid);
if (ViewState["userid"] == null)
{
ViewState["userid"] = userid;
}
else {
ViewState["userid"] ="";
}
前台: <input id="userid"type="hidden" value="ViewState('userid')" /> 结果提示:ViewState未定义;2:我在后台建了个函数
public string postUserID()
{
if( userid!=null){
return userid;
}
else
{
return "";
}
}然后JS: var userid=<%=postUserID()%>;结果提示“应为表达式”哪里错了?还有别的办法吗?请各位帮忙看看,谢谢了~~
解决方案 »
- 图片上传 急
- 网页中的数据加载过慢解决办法
- HyperLink问题
- 在asp.net2.0中如何实现CSDN论坛左侧这种类似TabPage控件的效果?
- 根据文本框的值发生改变做修改操作
- 用于数据库连接的“MapPath”的问题
- 找不到类型或命名空间名称“Response”(是否缺少 using 指令或程序集引用?)
- Application缓存如何更新?
- 大家帮忙想想办法吧!!进者有份!!
- WCF Exception Details: System.Net.WebException: Too many automatic redirections
- 请问一下,asp.net mvc3 怎样用ZedGraph做曲线图,就像股票走势那样
- GridView 绑数据,重新查询后不能回到第1页
即是说,我不登陆就话,页面就不读取评论数据
怎么办?
第二个:JS好像不能用<%#%>这种东西与后台交互实现:还是你第二种后台那个函数,前台可以用
<input id="userid"type="hidden" value="<%#postUserID()%>" />
这样隐藏域就取到了
然后js里document.getelementbyid(“userid”).value就都能取到了
试一下把
谢谢,这样做不错,这是出于为什么?
为什么ViewState用不了?
LZ的方法是对的 不过要加上服务器标签
<input id="userid"type="hidden" value='<%=ViewStata("xx")%>' />
直接通过后台返回数据 用JS获取的话
var userid='<%=postUserID()%>';
正解,js里是不能直接用<%%> <%#%>的
我是放在from里的,有runat=server,就是提示未定义
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ViewState["UserID"] = 1;
}
}
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Text1" type="text" value='<%=ViewState["UserID"] %>' /></div>
</form>
</body>
</html>
楼主 给分吧
或者JQUERY $("#隐藏域ID").val();
注意加载顺序问题,js代码应该放在隐藏域的后边才能获取到隐藏域的值。
直接var userid="<%=postID()%>",放在异步对象js代码的前面