zoukankan      html  css  js  c++  java
  • 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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Android学习笔记_27_多媒体之视频刻录
    Android学习笔记_26_多媒体之拍照
    Android学习笔记_25_多媒体之在线播放器
    Android学习笔记_24_多媒体MediaPlayer对象之音乐播放器与SoundPool声音池
    多线程下载
    Android学习笔记_23_服务Service之AIDL和远程服务实现进程通信以及进程间传递自定义类型参数
    MySQL 面试必备:又一神器“锁”,不会的在面试都挂了
    当 Redis 发生高延迟时,到底发生了什么
    Spring MVC 到 Spring BOOT 的简化之路
    MySQL的可重复读级别能解决幻读问题吗?
  • 原文地址:https://www.cnblogs.com/qqhfeng/p/10367161.html
Copyright © 2011-2022 走看看