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
版权声明:本文为博主原创文章,转载请附上博文链接!