在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">
<asp:HyperLink ID="HyperLink1" runat="server" onClick="MoveToTeam()" BorderColor="Lime" BorderStyle="Outset">HyperLink</asp:HyperLink>
<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
微软简直就是拼凑的功能
浙公网安备 33010602011771号