我的是vs2008 安装了sp1
我新建了一个web页面在head里面添加了javascript代码: <script type="text/javascript" language="javascript">
function searchDiv() {
var obj = $get("MessageBlock");
alert(obj);
}
</script>然后form里面有这样一些代码: <asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div id="MessageBlock"></div>
<div>
<input id="Button1" type="button" value="button" onclick="searchDiv()"/>
<asp:Button ID="Button2" runat="server" Text="Button" onclick="Button2_Click" />
</div>在cs文件中有对Button2点击事件的定义: protected void Button2_Click(object sender, EventArgs e)
{
ClientScriptManager cs = this.ClientScript;
cs.RegisterClientScriptBlock(this.GetType(), "search", "searchDiv()", true);
}
现在我点击input 按钮没问题。弹出对话框,对象是一个object 但是我使用<asp:Button>的时候出现错误:Microsoft JScript 运行时错误: 缺少对象。就是说var obj = $get("MessageBlock");这一句没有获取到对象。我什么地方有问题?
我新建了一个web页面在head里面添加了javascript代码: <script type="text/javascript" language="javascript">
function searchDiv() {
var obj = $get("MessageBlock");
alert(obj);
}
</script>然后form里面有这样一些代码: <asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div id="MessageBlock"></div>
<div>
<input id="Button1" type="button" value="button" onclick="searchDiv()"/>
<asp:Button ID="Button2" runat="server" Text="Button" onclick="Button2_Click" />
</div>在cs文件中有对Button2点击事件的定义: protected void Button2_Click(object sender, EventArgs e)
{
ClientScriptManager cs = this.ClientScript;
cs.RegisterClientScriptBlock(this.GetType(), "search", "searchDiv()", true);
}
现在我点击input 按钮没问题。弹出对话框,对象是一个object 但是我使用<asp:Button>的时候出现错误:Microsoft JScript 运行时错误: 缺少对象。就是说var obj = $get("MessageBlock");这一句没有获取到对象。我什么地方有问题?
解决方案 »
- where中有中文就查不到结果
- 又来了。。求一条SQL语句。。在线,速结= =
- 我要注册的时候能得到注册人的IP 代码如何加
- getElementById的问题
- 为什么我点击超链结打开新页面会重新回到登陆页?
- 如何让Lable显示当天时间精确到秒,秒要随时间增加的,还要显示星期几。
- VB购物车代码,还有一点问题,有高手帮我修改一下吗?
- IsPostBack指的是什么状态?
- Asp.net中跨页面的访问方式有几种?都是怎么用的?
- 如何把string转换成流? 如转换成System.IO.Stream?
- 求一个jquery ajax验证用户名是否存在的代码
- JAVASCRIPT+AJAX一个小问题
ClientScript.RegisterStartupScript(GetType(), "search", "searchDiv()", true);
protected void Button2_Click(object sender, EventArgs e)
{
ClientScript.RegisterStartupScript(GetType(), "search", "searchDiv()", true);
}
RegisterClientScriptBlock 会将js 加载 在<form> 的后面 ,这个时候 dom还没有构建id 为 MessageBlock
的div 所以找不到对象 ,就会报缺少对象的错误。
RegisterStartupScript 则是加载 在</form>的前面,这个时候 dom基本已经构建结束,所以不会报错这就是这两个函数的区别
Button1增加OnClientClick事件:OnClientClick=" searchDiv();return false ;"
后台代码删掉就行了。