Gija

博客园 首页 新随笔 联系 订阅 管理

asp1.1里在javascript 脚本可以取到此页面服务器端代码的变量置,但是在asp2.0情况变了.在没有使用皮肤功能的条件下是没有问题的.

代码如下VS2005

页面名称Default.aspx

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

 

<!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>OnLineBusiness系统</title>

    <link href="" rel="stylesheet" type="text/css" />

    <script language="Javascript" type="text/javascript">

         function MoveToTeam()

        {

          

            var abc="<%=ls%>";       

 alert(abc);      

        }

    </script>

</head>

<body>

<form id="Form1" method="post" runat="server">

    &nbsp; &nbsp; &nbsp;

    <asp:HyperLink ID="HyperLink1" runat="server"  onClick="MoveToTeam()" BorderColor="Lime" BorderStyle="Outset">HyperLink</asp:HyperLink>

    &nbsp;&nbsp;&nbsp;

    <asp:HiddenField ID="HiddenField1" runat="server" Value="ssss" />

   

 </form> 

</body>

</html>

服务器端代码名称 Default.aspx.cs

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

 

public partial class _Default : System.Web.UI.Page

 

{

    public string ls = "aaaa";

    private string testa = "aaa";

 

    protected void Page_Load(object sender, EventArgs e)

    {

        ls = "bbbb";

    }

    public string change()

    {

        testa = "bbb";

        return testa;

    }

 

  

}

注意方框内容,这个功能在1.1是没有问题的(当然没有问题,因为我们从那里升级过来的吗),但是在2.0里运行时出问题了,控件集有问题,

ok 现在我们把这段代码换成如下  var abc="<%#ls%>"; 现在那 运行是没有问题的,但是值没有被传递.

解决办法:javascript脚本不要放在head里面,放在其他地方

由于使用了皮肤,需要在head里处理,譬如添加CSS

微软简直就是拼凑的功能

posted on 2005-12-24 15:12  gija  阅读(282)  评论(0)    收藏  举报