后台:protected void Button1_Click(object sender, EventArgs e)
{
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>Myfun();</script>");
}
前台:javascript:
function Myfun() {
document.getElementById('Text1').value = 'abc';
}
但是怎么也实现不了呢。为什么啊?
{
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script>Myfun();</script>");
}
前台:javascript:
function Myfun() {
document.getElementById('Text1').value = 'abc';
}
但是怎么也实现不了呢。为什么啊?
第二:请查看您的Text1的ID是否正确,可能asp.net给您的控件加了标识
第三:你注册的脚本在您的Text1前面还是在后面,如果在前面的话,是找不到您的Text1节点的
http://www.cnblogs.com/insus/articles/1945582.html
this.RegStartupScript("javascript:Myfun()");
所以这是不能现实的
除非你用AJAX
在页面最后加:<%= ViewState["js"] %>这样应该可以。
ViewState["js"]="<script>Myfun();</script>";
" + JS + "});";
ClientScript.RegisterClientScriptBlock(page, page.GetType(), "", j, true);
独家秘籍,一般都灵的
1:有没有Myfun这个方法被定义在前台(合适的位置)?2:后台那个注册脚本的代码到底执行没有(脚本是否成功被注册到前台)?
而你在前台的时候又创建了一个JavaScript。
function Myfun() {
document.getElementById('Text1').value = 'abc';
}
,但是你只调用了后台的那个JavaScript,根本没有调用前台的JavaScript。而你后天的Myfun根本没有方法体,而且不合规范。
你要明白ClientScript.RegisterStartupScript这个方法的意思,他是在客户端上创建一个JavaScript,而不是调用JavaScript方法。