none
表达示报错? RRS feed

  • 问题

  • Response.Write("<script>confirm(\"确定登录?\"){"+Session["uid"]="测试"+"}else{retrun}</script>");

    赋值号左边必须是变量、属性或索引器

    2010年5月6日 4:27

答案

  • 你好,

    如果你是想通过在前端给session赋值,可以这样这样:

    1.把脚本按照如下方式写在前端。

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Button.aspx.cs" Inherits="Button" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
     <title>Untitled Page</title>
     <script type="text/javascript" language="javascript">
     
     function SetSession()
     {
     if (confirm("Are you confirm to login?"))
     {
     <%Session["uid"] = "测试" ;%> 
     }
     
     }
     </script>
    
     <link href="StyleSheet2.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
     <form id="form1" runat="server">
     
     <asp:Button ID="Button5" runat="server" onclick="Button5_Click" 
     Text="JS Session Test"/>
     <asp:Button ID="Button6" runat="server" onclick="Button6_Click" 
     Text="Output Session" />
     </form>
     </body>
    </html>
    
    
    
    
    
    2.后台代码:
     
     protected void Button5_Click(object sender, EventArgs e)  
     {    
    ClientScript.RegisterStartupScript(typeof(Page), "test", "<script type=\"text/javascript\" language=\"javascript\">SetSession();</script>"); 
     } 
    
     protected void Button6_Click(object sender, EventArgs e)  {    Response.Write(Session["uid"]);  }

    Microsoft Online Community Support
    2010年5月10日 2:15

全部回复

  • Session["uid"]后面是+号,而不应该是=号

    Response.Write("<script>confirm(\"确定登录?\"){"+Session["uid"]+"测试"+"}else{retrun}</script>");

    2010年5月6日 5:55
  • if (confirm("Are you confirm to login?"))

    //

    else

    //

    js怎么能给session赋值。


    别人笑我忒疯癫,我笑别人看不穿; 不见五陵豪杰墓,无花无酒锄作田。
    2010年5月6日 5:55
  • 按照你的写法 可能是混淆了 服务端和客户端 ,session赋值 是服务端的事情,而你可能想在客户端来做,建议你在页面里存放一个hidden 然后 在服务端通过判断hidden的值来对session赋值
    2010年5月7日 1:14
  • 你好,具体意图我不是很明白,但是你的那句有语法错误。可以修改为:

            Response.Write("<script>confirm(\"确定登录?\"){" + Session["uid"] + " = \"测试\"}else{retrun}</script>");


    邹俊才
    2010年5月7日 3:36
    版主
  • 你好,

    如果你是想通过在前端给session赋值,可以这样这样:

    1.把脚本按照如下方式写在前端。

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Button.aspx.cs" Inherits="Button" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
     <title>Untitled Page</title>
     <script type="text/javascript" language="javascript">
     
     function SetSession()
     {
     if (confirm("Are you confirm to login?"))
     {
     <%Session["uid"] = "测试" ;%> 
     }
     
     }
     </script>
    
     <link href="StyleSheet2.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
     <form id="form1" runat="server">
     
     <asp:Button ID="Button5" runat="server" onclick="Button5_Click" 
     Text="JS Session Test"/>
     <asp:Button ID="Button6" runat="server" onclick="Button6_Click" 
     Text="Output Session" />
     </form>
     </body>
    </html>
    
    
    
    
    
    2.后台代码:
     
     protected void Button5_Click(object sender, EventArgs e)  
     {    
    ClientScript.RegisterStartupScript(typeof(Page), "test", "<script type=\"text/javascript\" language=\"javascript\">SetSession();</script>"); 
     } 
    
     protected void Button6_Click(object sender, EventArgs e)  {    Response.Write(Session["uid"]);  }

    Microsoft Online Community Support
    2010年5月10日 2:15