日期:2014-05-17  浏览次数:20460 次

为什么asp.net用户控件中输入JavaScript代码就会报错
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>(这一行就会报“应输入 ;”的错误)
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
<script type="text/javascript">
  document.getElementById("<%=Button1.ClientID %>").onclick = function() {
  document.getElementById("<%TextBox1.ClientID %>").value = "hello";
  };
</script>

如果不写后面的javascript代码,就不会报错,可以打开网址,写了就会打不开网址:

编译错误 
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 

编译器错误消息: CS1002: 应输入 ;



------解决方案--------------------
很简单,把document.getElementById("<%TextBox1.ClientID %>").value = "hello";改成

document.getElementById("<%=TextBox1.ClientID %>").value = "hello";

注意<%后面你漏了个=

它看成asp.net语句了
------解决方案--------------------
探讨
很简单,把document.getElementById("<%TextBox1.ClientID %>").value = "hello";改成

document.getElementById("<%=TextBox1.ClientID %>").value = "hello";

注意<%后面你漏了个=

它看成asp.net语句了