今天真心想写写这个的。这个问题搞了我好几天了...
网上可搜索到两种方法,我的问题是第三种了。
先说说我的问题
<head runat="server">
<title>新闻类型修改</title>
<script type="text/javascript" src="../JavaScript/ItemCheck.js"></script>
<script language="javascript" type="text/javascript">
function insertmsg(){
if(!validempty(document.getElementById("<%=txttypename.ClientID %>"),"请输入类型名称名称")) return false;
}
</script>
</head>
<body>
<form id="form1" runat="server">
这是我前台写的,一般情况我都是讲js等脚本写在title之后的,可是今天出问题了,上网搜了很久,没能解决
于是我重新做了一遍,结果不小心把js写到了head和body之间。
<head runat="server">
<title>新闻类型修改</title>
</head>
<script type="text/javascript" src="../JavaScript/ItemCheck.js"></script>
<script language="javascript" type="text/javascript">
function insertmsg(){
if(!validempty(document.getElementById("<%=txttypename.ClientID %>"),"请输入类型名称名称")) return false;
}
</script>
<body>
<form id="form1" runat="server">
我去,运行下竟然可以了。我是继承PageBase的。后台是一个树型递归的方法。
也许是我没理解网上的那两种方法吧,但是只想记下这个时刻。
下面是网上查的,我选了个简单一点的,大家可以看看...
第一种:
在使用主题的时候出现 控件包含代码块(即 <% ... %>),因此无法修改控件集合错误,原来错误的原因是:
控件包含代码块(即 <% ... %>),因此无法修改控件集合。 将这些代码去掉,相应的功能在代码中实现即可。
<%=.....%>
造成这个错误的原因是:在<head runat="server"></head>里面,使用了类似这样的代码,
把Head中使用的<%=.....%>的脚本放到body中,就OK了.
Source:http://www.cnblogs.com/mczhu/archive/2008/08/20/1272063.html
发现了自己的Main.Master中有:
<title>**管理系统</title>
<script src="<%=GetServerUri()%>Scripts/main.js" type="text/javascript" language="javascript"></script>
第二种:
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder" runat="server">
<script language="javascript" type="text/javascript">
function Button1_onclick() {
var msg = document.getElementById('<%= this.lblMessage.ClientID %>'); // 就是这里错误 ,lblMessage 服务器端控件
alert(msg.value);
}
</script>
1,把Head标签中的Runat=“server” 去掉,我试了又试还是不好用。
2,说吧javascript脚本放到body中。