比如用户登录了.将他的name存在Session["name"]里面.
我知道setInterval()这样可以传值
function a(s)
{
alert(s);
}
var obj = document.getElementById("TextBox1");setInterval(function () { a(obj); }, 2000);
我的问题:
1.我先在.cs的pageload里面定义了string name=Session["name"].toString();并把它赋给TextBox1,但是setInterval()方法里面还是读不出来值,该如何做?
我知道setInterval()这样可以传值
function a(s)
{
alert(s);
}
var obj = document.getElementById("TextBox1");setInterval(function () { a(obj); }, 2000);
我的问题:
1.我先在.cs的pageload里面定义了string name=Session["name"].toString();并把它赋给TextBox1,但是setInterval()方法里面还是读不出来值,该如何做?
三楼正解~
page.ClientScript.RegisterStartupScript(page.GetType(),"message", " <script language='javascript'>alert('" + msg.ToString() + "'); </script>"); 这样也可以的~
this.TextBox1.Text = "test"; StringBuilder sb = new StringBuilder();
sb.Append("<script type=text/javascript> function a(s) ");
sb.Append("{");
sb.Append(" alert(s);");
sb.Append("}");
sb.Append("var obj = document.getElementById('TextBox1');");
sb.Append("setInterval(function () { a(obj); }, 2000);");
sb.Append("</script>");
Page.RegisterClientScriptBlock("test", sb.ToString());
有模板页的话取TextBox就用<% =TextBox1.ClientID %>")
加了代码报错.
用这个方法不行吗?这个是可以取到的
无论是用TextBox1.ClientID 还是注册代码块.
哪位能帮忙运行调试下吗?
就新建个页面,拖个TEXTBOX控件调试下???
{
Session["name"] = "abc";
string name = Session["name"].ToString();
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script type='text/JavaScript'>var t = 5;function countDown() {t--;if(t == 0) alert('" + name + "'); setTimeout(countDown, 1000);} countDown();</script>");
}
非常感谢高歌兄,自己太笨,代码看了半天还没明白.有个问题还想问下 this.TextBox1.Text = "test";
name=this.TextBox1.Text;
StringBuilder sb = new StringBuilder();
sb.Append(" <script type=text/javascript> function a(s) ");
sb.Append("{");
sb.Append(" alert(s);");
sb.Append("}");
sb.Append("var obj = '"+name+"');");-------------------------->为什么我这样写就出错? 该如何修改?
sb.Append("setInterval(function () { a(obj); }, 2000);");
sb.Append(" </script>");
Page.RegisterClientScriptBlock("test", sb.ToString());
1.高歌兄的代码为什么就可以读的出来呢?能帮我解释下吗?
2.
var t = 5;
function countDown()
{
t--;
if(t == 0)
alert('test');-------->这是注册块后生成的代码,非要写在alert('')里才可以读出来吗?怎样写成传参的?因为我要做成把Session里的值用setInterval()传给另一个aspx页面的.是ajax. setTimeout(countDown, 1000);
}
countDown();
string name=this.TextBox1.Text;
StringBuilder sb = new StringBuilder();
sb.Append(" <script type=text/javascript> function a(s) ");
sb.Append("{");
sb.Append(" alert(s);");
sb.Append("}");
sb.Append("var obj = '" + name+ "';") ; //你这里多了一个 )
sb.Append("setInterval(function () { a(obj); }, 2000);");
sb.Append(" </script>");
Page.RegisterClientScriptBlock("test", sb.ToString());