位置 :  首页 / 博客 / 学无止境

ASP.NET常用方法及属性

发布人: 发布时间:2019/01/05 访问量:1611
错误页
   <script language="javascript" type="text/javascript">
        var i = 5;
        var intervalid;
        intervalid = setInterval("fun()", 1000);
        function fun() {
            if (i == 0) {
                window.location.href = "default.aspx";
                clearInterval(intervalid);
            }
            document.getElementById("mes").innerHTML = i;
            i--;
        }
    </script>
将在 <span id="mes">5</span> 秒钟后返回首页!
截取字符串
<%# Tool.StringTruncat(Eval("title").Tostring(),20,"...") %>
去掉IP最后一个数
<%#Eval("ip").Tostring().SubString(0,Eval("ip").Tostring().LastIndexOf(".")+1)+ "*" %>

Ajax的使用
在使用ajax的文件中加上ScriptManager控件
在使用ajax的区域使用UpdatePanel控件的ContentTemplate节点包括
ajax的弹出框
ScriptManager.RegisterStartupScript(UpdatePanel1, this.GetType(), "click", "alert('保存成功')", true);

Repeate行号属性
Repeate控件显示行号<%#Container.ItemIndex+1 %>  //Container.ItemIndex是从0开始的
有分页的<%#GetXH(Container.ItemIndex) %>
public string GetXH(object index)
{
//返回当前索引+当前行号 StartRecordIndex从1开始/Container.ItemIndex是从0开始的 即(1+0)+1  = 2 即从2开始显示行号
return (anp.StartRecordIndex + int.Parse(index.ToString()) + 1).ToString(); //2,3,4,5,6,7 升序
//返回(总页数-(当前索引 + 当前行号 -1)) 即 (10- 1+(0-1)),(10-2+(7-1))/ 行号是从0开始,所以下标为7是指第8条数据,即每页分8条
//return (anp1.RecordCount - (anp1.StartRecordIndex + int.Parse(index.ToString())-1)).ToString();//7,6,5,4,3,2,1 降序
}

Repeater控制中的ItemTemplate循环5行加一个分隔符
<%#(Container.ItemIndex+1)%5==0?"<hr />":String.Empty %>    //当前页+1 取模=0

//获取性别 数据库中sex字段0为男,1为女
前台:<img src='https://www.kaiu.net/images/<%#GetSexImage(Eval("sex"))' %>
后台:
public string GetSexImage(object sex)
{
    return sex.Tostring()=="1"?"girl.gif":"boy.gif";
}

//获取登录的次数
litlogincount.Text=new DAL.Login_logDAL().CalcCount("username='"+User.Identity.Name+"'").Tosring();

//获取是否回复 三元运算
<%#(Eval("reply") == null || Eval("reply").ToString() == "") ? "否" : "是" %>

//获取作品表中的作品数量
<%#GetImgCount(Eval("id")) %>
public string GetImgCount(object workid)
{
    return DAL.Work_imgDAL().CalcCount("workid="+workid).ToString();
}

//获取评级
int pj = 5;
if (rad1.Checked)
{
pj = 1;
}
if (rad2.Checked)
{
pj = 2;
}
if (rad3.Checked)
{
pj = 3;
}
if (rad4.Checked)
{
pj = 4;
}
if (rad5.Checked)
{
pj = 5;
}

//string pj=pj.ToString();

//0新品上市、1特价商品、2VIP商品
//赋值
int istj = chk.Items[0].Selected ? 1 : 0;    //chk为CheckBoxList
int isxp = chk.Items[1].Selected ? 1 : 0;
int isvip = chk.Items[2].Selected ? 1 : 0;
//获取
if (model.istj == 1)
{
    chk.Items[0].Selected = true;
}
if (model.isxp == 1)
{
    chk.Items[1].Selected = true;
}
if (model.isvip == 1)
{
    chk.Items[2].Selected = true;
}

//前台去掉html标签并截取字符
<%# GetBody(Eval("body"))%>
public string GetBody(object body)
{
    string str=body.ToString();
    str=Utility.Tool.GetNoHTMLString(str);
    str=Utility.Tool.StringTruncat(str,38,"...");
    return str;
}

//显示作品,即一个ul中有3个li,循环ul
<asp:Literal ID="litHTML" runat="server"></asp:Literal>
//绑定列表
private void BindRep()
{
        //获取列表anp的页大小为9即3X3
DataSet ds = dao.GetList("*", "createdate", "desc", anp.PageSize, anp.CurrentPageIndex, GetCond());
int size = 3;  // 每次取出的元素个数  
        // 要循环的次数  
int num = ds.Tables[0].Rows.Count % size == 0 ? ds.Tables[0].Rows.Count / size : ds.Tables[0].Rows.Count / size + 1;

StringBuilder sb = new StringBuilder();    //SB拼接
for (int i = 0; i < num; i++)
{
sb.Append("<ul class='WEDING_CESE'>");
var query = ds.Tables[0].AsEnumerable().Skip(i * size).Take(size);
for (int y = 0; y < query.Count(); y++)
{
DataRow row = query.ElementAt(y);
if (i == 0 && y == 1)
{
sb.Append("<li style='background:none;'><a href='syzp_content.aspx?id=" + row["id"] + "' title='' target=''><img src='https://www.kaiu.net/upload/" + row["img"] + "' alt='' class='FILTER' width='150' height='182'/></a></li>");
}
else
{
sb.Append("<li><a href='syzp_content.aspx?id=" + row["id"] + "' title='' target=''><img src='https://www.kaiu.net/upload/" + row["img"] + "' alt='' class='FILTER' width='150' height='182'/></a></li>");
}
}
sb.Append("</ul>");
}
litHTML.Text = sb.ToString();
}

//Flash的图片轮播
1、拷入flpicsocoll.rar文件中的images和template中的swf文件
2、把首页中要采用轮播的地方加上<script>代码,并修改大小及文字高度
3、创建数据库 bbs_flash表 id,createdate,title,url,img
4、采用动软生成bbs_flash代码,加上分页、计算记录数代码
其中采用GetListArray分页方法
Public List<Model.Flash>GetListArray(string fields,.......)
{
    把DataSet List中的分页方法拷入
    其中 return db.ExcuteDataSet(dbCommand);    改为:
   using (IDataReader dataReader = db.ExecuteReader(dbCommand))
    {
while (dataReader.Read())
{
list.Add(ReaderBind(dataReader));
}
    }
    return list;
}
修改前台的<script>中的重复区域代码为<%= GetFlashJS()%>
后台在Page_load之前加上
//生成FLASH中的相关JS
public string GetFlashJS()
{
DAL.PagesetDAL psdal = new Xiaobin.BBS.DAL.PagesetDAL();
List<Model.Pageset> list = psdal.GetListArray("*", "id", "asc", 5, 1, "fl='flash'");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < list.Count; i++)
{
Model.Pageset ps = list[i];
int index = i + 1;
sb.Append("linkarr[" + index + "]='" + ps.url + "';picarr[" + index + "] ='upload/" + ps.img + "';textarr[" + index + "]='" + ps.title + "';");
}
return sb.ToString();
}

//面包屑导航
1、在母版页中导航上加上如:论坛>>首页 改为litsitemap
//导航
public void SetSitemap(string str)
{
litsitemap.Text = str;
}
2、在所有采用了母版页的页面中在 page_load中加上
//注: this.Master为母版页 TopDown为母版页的名称
(this.Master as TopDown).SetSitemap("<a href='default.aspx'>"首页</a>");
在user文件夹中的页面中加上
(this.Master as TopDown).SetSitemap("<a href='default.aspx'>用户中心</a> &gt;&gt; <a href='default.aspx'>用户中心首页</a>");

保留N位小数的方法
function formatFloat(src, pos) {   
    return Math.round(src * Math.pow(10, pos)) / Math.pow(10, pos);   
}

ASP.NET文本框中原样输出html代码
Server.HtmlEncode(内容);   //编码   显示原代码用编码
Server.HtmlDeCode(内容);   //解码
Server.URLEncode    //GET提交及url中的编码
Server.URLDecode   //GET提交及url中的解码

调用My97DatePicker日历
1、引用My97DatePicker/WdatePicker.js文件
<input id="d11" type="text" onClick="WdatePicker()"/>

网页中插入Flash
<object>
   <embed width="100%" height="100%" name="plugin" src="https://www.kaiu.net/swf/980_475.swf" type="application/x-shockwave-flash">
</object>
插入透明的Flash
<EMBED height=295 pluginspage=http://www.macromedia.com/go/getflashplayer src=https://www.kaiu.net/swf/nva.swf type=application/x-shockwave-flash width=1280 wmode="transparent" quality="high"></EMBED>
上一篇:ASP.NET发送邮件