当前位置:编程学习 > C#/ASP.NET >>

一个关于Response.Write的问题!

源代码:
<script runat="server">

    protected void Button1_Click(object sender, EventArgs e)
    {
        string struserName = this.userName.Text;
        string struserPwd = this.userPwd.Text;
        string strSql = "select * from users where name ='" + struserName + "' and pass ='" + struserPwd + "'";
        string ConString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("App_Data/data.MDB");
        System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(ConString);
        conn.Open();
        System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(strSql, conn);
        System.Data.OleDb.OleDbDataReader dr= cmd.ExecuteReader();
        if (dr.Read())
        {
            Response.Write("<br>您是管理员<br>");
        }
        else
        {
            Response.Write("<script>alert('删除成功!')</script>");    

        }

    }
</script>

Response.Write("<script>alert('删除成功!')</script>");  这句有错
如果改成Response.Write("删除成功!");就可以,但没有对话框,换成下面的都报错
Response.Write("<script>alert("删除成功!")</script>");双引号不行
Response.Write("<script>alert(/'删除成功!'/)</script>");转义符也不行
请问怎么解决? --------------------编程问答-------------------- Response.Write("<script language=javascript>alert('删除成功!');</script>"); --------------------编程问答-------------------- orz --------------------编程问答-------------------- 编译错误 
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 

编译器错误信息: CS1010: 常量中有换行符

源错误:

 

行 22:         else
行 23:         {
行 24:             Response.Write("<script language=javascript>alert('删除成功!');</script>");    
行 25: 
行 26:         }
 
--------------------编程问答-------------------- mark --------------------编程问答-------------------- Response.Write("<script>window.alert('删除成功!')</script>"); --------------------编程问答-------------------- Response.Write("<script>alert('删除成功!')</script>") --------------------编程问答-------------------- 没问题啊,我在我的VS 上测试通过 --------------------编程问答-------------------- Response.Write("<script>alert('删除成功!');</script>"); --------------------编程问答-------------------- Response.Write("<script>window.alert('删除成功!')</script>");

Response.Write("<script>alert('删除成功!')</script>");



这两个都不行,同样报错!


编译器错误信息: CS1010: 常量中有换行符

源错误:

 

行 22:         else
行 23:         {
行 24:             Response.Write("<script>alert('删除成功!')</script>");    
行 25: 
行 26:         }
 
--------------------编程问答-------------------- Page.RegisterStartupScript("key","<script>alert('删除成功');</script>");


试试这个。。。 --------------------编程问答-------------------- 是不是你页面字符集有问题??
--------------------编程问答-------------------- 行 22:         else
行 23:         {
行 24:             Response.Write("<script>alert('删除成功!')</script>");    
行 25: 
行 26:         }
-----------------------------
('删除成功!'); <——这里少分号吧

--------------------编程问答-------------------- xueying1123() (


加了,还是出错,上面的说的方法我都试过了,都出错! --------------------编程问答-------------------- <%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

    protected void Button1_Click(object sender, EventArgs e)
    {
       Response.Write("<script>alert('删除成功!');</script>");   
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
    </form>
</body>
</html>



我现在的代码再简单不过了吧
提示这个错误


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

编译器错误信息: CS1010: 常量中有换行符

源错误:

 

行 7:      protected void Button1_Click(object sender, EventArgs e)
行 8:      {
行 9:         Response.Write("<script>alert('删除成功!');</script>");   
行 10:     }
行 11: </script>
 
--------------------编程问答-------------------- Response.Write(@"<script language='javascript'>window.alert('删除成功!');</script>");
你看看这个 不可能再有错了吧
--------------------编程问答-------------------- string abc="<" + "script" + ">" + "alert('删除成功!');" + "<" + "/script" + ">";
            Response.Write(abc); 


只有这样才行!!! --------------------编程问答-------------------- 编译器错误信息: CS1010: 常量中有换行符 --------------------编程问答-------------------- Response.Write("<script language=JavaScript>alert('删除成功!')</script>");
这个肯定没错!我这里都可以运行! --------------------编程问答-------------------- LS的几位给的方法都可以啊~~是不是LZ你的VS出问题了? --------------------编程问答-------------------- 楼主是不是用了微软的AJAX?
如果是的话,也有可能会出错;
如果用了的话可以这样写:
ClientScriptManager cs = this.ClientScript;
cs.RegisterClientScriptBlock(this.GetType(), "HelloWorld", "function helloWorld(){alert(删除成功!);}", true); --------------------编程问答-------------------- 怎么会这样子,我这试了都没问题呀! --------------------编程问答-------------------- 应该是没错 vs的问题吧 --------------------编程问答-------------------- Response.Write("<script>alert(\"删除成功\");</script>");
Response.End()

以上代码不会错的,你检查下你的拼写 --------------------编程问答-------------------- 修复VS <—— 这个肯定没错!! --------------------编程问答-------------------- 应该没错 --------------------编程问答-------------------- response.write("<script language=javascript>alert('删除成功');</script>"); --------------------编程问答-------------------- 请LZ把
Response.Write( " <script   language=JavaScript> alert( '删除成功! ') </script> "); 

放到的后置代码里.

不要放到与页面一个文件中... --------------------编程问答-------------------- <script   runat= "server "> 

        protected   void   Button1_Click(object   sender,   EventArgs   e) 
        { 
              Response.Write( " <script> alert( '删除成功! '); </script> ");       
        } 
</script> 

改为

<script   runat= "server "> 

        protected   void   Button1_Click(object   sender,   EventArgs   e) 
        { 
              Response.Write( " <scr"+"ipt> alert( '删除成功! '); <\/script> ");       
        } 
</script> 

这样,绝对就没问题了。不是VS的问题,像这样的问题在js里叫script嵌套了.LZ把输出script写在了前台的script里了. --------------------编程问答-------------------- 不用那么高级的东西,就这个了
Response.Write("<script>alert('删除成功!');</script>");

绝对没有问题的 --------------------编程问答-------------------- Response.Write( " <script> alert( '删除成功! ') </script> ");     这句有错 

在我这里没有问题 --------------------编程问答--------------------
引用 30 楼 sunshine_anycall 的回复:
Response.Write( " <script> alert( '删除成功! ') </script> ");    这句有错 

在我这里没有问题


那是因为你写在后台代码里,当然不会有问题. --------------------编程问答-------------------- mark
楼上的都没有问题的 --------------------编程问答-------------------- 学习中,在前台script中再套scritp,没玩过,看来要高手解决了!
不过不解楼主为什么不把代码直接写在后台呢?
关注中~~~ --------------------编程问答-------------------- 完全不对,我用满篇都是错误,看不懂!
引用 14 楼 asmcai 的回复:
<%@   Page   Language= "C# "   %> 

<!DOCTYPE   html   PUBLIC   "-//W3C//DTD   XHTML   1.0   Transitional//EN "   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> 

<script   runat= "server "> 

        protected   void   Button1_Click(object   sender,   EventArgs   e) 
        { 
              Response.Write( " <script> alert( '删除成功! '); </script> ");       
        } 
--------------------编程问答-------------------- 是不是应用了AJAX的问题,直接用Response.Write()对Ajax机制产生影响,采用以下方法试试看,我刚遇到这种问题,通过下面方法得到解决,您不妨试试

ScriptManager.RegisterStartupScript(this,   this.GetType(), "alertShowMe ",   "alert( 'Show me! '); ",   true); 
--------------------编程问答-------------------- 要用这样:
 Response.Write( "<script> alert( '删除成功! ');<"+"/script> ");        --------------------编程问答-------------------- Response.Write("<script>alert('删除成功!')</script>"); --------------------编程问答-------------------- 小米加步枪----冲:


你的方法很对 
 我用了  太好了  谢谢 --------------------编程问答-------------------- Response.Write( " <script  language=JavaScript> alert( '删除成功! ') </"+"script> ");  --------------------编程问答-------------------- 这么简单:
试一下这个肯定行
  Response.Write(Server.HtmlDecode(" <script> window.alert('删除成功!');</script>")); --------------------编程问答-------------------- response.write("<script>alert('删除成功!');</script>"); --------------------编程问答-------------------- Window.可以去掉。。多给分噢。 --------------------编程问答-------------------- //Try
Response.Write( " <script> alert('删除成功! '); </script> "); --------------------编程问答-------------------- 如果你想弹出“删除成功的提示”,你可以这样写:
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "click", "alert('删除成功.')", true);
--------------------编程问答--------------------
引用 8 楼 xray2005 的回复:
Response.Write( " <script> alert( '删除成功! '); </script> ");
--------------------编程问答-------------------- The C# CODE

Response.Write( " <script> alert( '删除成功! ') </");
Response.Write("script> ");
====
Response.Write( " <script> alert(\"删除成功!\") </");
Response.Write("script> "); --------------------编程问答-------------------- If code runat only cs file
Response.Write( " <script> alert( '删除成功! ') </script>"); 

else runat aspx file not enabled use </script> label,did you mean? --------------------编程问答-------------------- "<script> alert( '删除成功! ');<" + "/script>"

你直接写在页面上<script runat= "server"> 会去匹配最近的</script>也就是Response.Write里面的</script> 当然或错 --------------------编程问答-------------------- Response.Write("<script language=javascript>window.alert('删除成功!');window.location.href=('shanchu.aspx');</script>");后面是你点击确定按钮后跳转到的页面 --------------------编程问答-------------------- 来看看 --------------------编程问答-------------------- 楼上的全对,但是楼主貌似用的是1.1的程序啊,你的是写在页面的上的,很可能是不支持, --------------------编程问答-------------------- 换这个Page.ClientScript.RegisterClientScriptBlock
你的那个Response.write会导致很多的问题,比如css定义的样式无法起作用 --------------------编程问答-------------------- 自己vs的问题,用iis架设起来试试看 --------------------编程问答-------------------- response.write("<script>alert('删除成功')</script>");
这样肯定行,我用的都几百遍了,理由我告诉你,要在双引号里面还要加双引号,那么里面就不能用双引号了,要用单引号,这个是常识,无论在哪里都是一样,包括java --------------------编程问答-------------------- 感觉像是删除成功外面的单引号惹得祸,你换成英文歌时下的试下。 --------------------编程问答-------------------- 感觉像是删除成功外面的单引号惹得祸,你换成英文歌时下的试下。 --------------------编程问答-------------------- 楼上全对的,估计楼主遇到的是35楼说的问题!! --------------------编程问答-------------------- 符号问题,用英文标点符 --------------------编程问答-------------------- 真无聊。。。 --------------------编程问答-------------------- 以前我也遇到過這個問題:
Response.Write( " <scr"+"ipt> alert( '删除成功! '); </script> ");   我試過了,是正確的啊! 
--------------------编程问答--------------------
引用 35 楼 yap111 的回复:
是不是应用了AJAX的问题,直接用Response.Write()对Ajax机制产生影响,采用以下方法试试看,我刚遇到这种问题,通过下面方法得到解决,您不妨试试

ScriptManager.RegisterStartupScript(this, this.GetType(), "alertShowMe ", "alert( 'Show me! '); ", true);


既然35楼说了,我就不重复了,支持35楼 --------------------编程问答-------------------- this.ClientScript.RegisterStartupScript(GetType(), "alertShowMe", "alert('Show me!'); ", true);
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,