Asp.Net前台调用后台变量

1.Asp.Net中几种相似的标记符号: < %=...%>< %#... %>< % %>< %@ %>解释及用法

答: < %#... %>: 是在绑定控件DataBind()方法执行时被执行,用于数据绑定

如: < %# Container.DataItem("tit") %>

< %= %>: 在程序执行时被调用,可以显示后台变量值

如:

*.aspx中: < %= aaa %>

*.cs中: protected string aaa="姓名";

< % %>: 内联代码块里面可以在页面文件*.aspx或*.ascx文件里面嵌入后台代码

如:

< %

for(int i=0;i<100;i++)

{

Reaponse.Write(i.ToString());

}

%>

< %@ %>是在*.aspx页面前台代码导入命名空间,

如:

< %@ Import namespace="System.Data"%>

2.控件接收哪些类型数据?

答:接收Bind的控件,一般有 DropDownList,DataList,DataGrid,ListBox这些集合性质的控件,而被捆绑 的主要是ArrayList(数组),Hashtable(哈稀表),DataView(数据视图),DataReader这四个,以后我们就可以 对号入座,不会出现DataTable被捆绑的错误了:)

3.DataBind,获得的数据,系统会将其默认为String,怎样转化为其它的类型?

DataBinder.Eval(Container.DataItem,"转换的类型","格式")

最后一个"格式"是可选的,一般不用去管他,Container.DataItem是捆绑的数据项,"转换类型"指的是 Integer,String,Boolean这一类东西.

4.主要命名空间:

< % @ Import Namespace="System.Data" %> 处理数据时用到

< % @ Import Namespace="System.Data.ADO" % > 使用ADO.net ; 时用到

< % @ Import Namespace="System.Data.SQL" %> SQL Server 数据库专用

< % @ Import Namespace="System.Data.XML" %> 不用看处理XML用到

< % @ Import Namespace="System.IO" %> 处理文件时用到

< % @ Import Namespace="System.Web.Util" %> 发邮件时大家会用到

< % @ Import Namespace="System.Text" %> 文本编码时用到

5.截取字符

写一个public的方法,用来截取字符串   
  如:   
      public   string   getSubString(string   str)   
      {   
                if   (str.Length>10)   
                              str=str.subString(0,10);   
                return   str;   
  }   
在aspx中代码如下   
            <td><%#   this.getSubString(DataBinder.Eval(Container.DataItem,"dd"))%></td>

 

1  <%=%>  取后台变量或调用函数取返回值

注意:服务器空间不可用

.cs页面的变量必须为protected /  public

2  <%#%> 服务器控件取其后台所绑定的值

一、前台调用后台
1、前台调用后台变量(注:数组变量不能获得,需先在后台已分隔符转成字符串变量,前台得到后再处理成数组)  
后台页面提供一个全局变量,Page_Load中给赋值,前台使用<%=XXX %>来获得变量;

2、前台调用后台方法(即Ajax,见Jquery,绑定到按钮的Click)

二、后台调用前台
1、后台使用前台的变量  
方法一:
1、前台使用静态文本控件隐藏域,将js变量值写入其中;     
2、后台用request["id"]来获取值;  
方法二:可以用cookie或session2、
后台使用前台函数 
(1)用ClientScript类动态添加脚本(较好)  
前台:
function closeWindow() {....}  
后台: ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", ""); 
(2)OnClientClick     
client_click() 就是javascript的一个方法,先执行client_click(); 
(3)Button1.Attributes.Add("onclick", "return Client_Click()");   
“Client_Click() “是一个前台方法,可以替换成一般的脚本如:retrun confirm('确定删除吗?')

后台

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        public int[] nums=new int[5]{1,2,3,4,5,};

public int age = 29;

public string strs = string.Empty;

protected void Page_Load(object sender, EventArgs e)
        {
           strs = string.Join("|||", nums);
        }
    }
}

前台

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>

<!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></title>

<script type="text/javascript">
     var num='<%= strs%>';
   
     alert(num);

alert(<%= age%>);

</script>
  
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>

---------------------
作者:简单的绿竹
来源:CSDN
原文:https://blog.csdn.net/zunguitiancheng/article/details/19298971
版权声明:本文为博主原创文章,转载请附上博文链接!

上一篇:研究大华3G设备接入自主视频开发平台


下一篇:Thinkphp开启调试模式