一 : asp.net页面执行机制
以前一直不太理解asp.net页面的执行机制,所以有些程序其实写的是错误的。昨晚在修改自己以前写的小程序时才发现自己的理解太肤浅....
1. 不用滥用static变量
static变量在应用程序的生命周期内都存在,而且所有用户共享.所以给一个页面添加一个静态变量,可以导致多个用户使用的时候互相影响。程序发生紊乱
2.不管是不是postback 每次请求一个页面都会导致该页面类重新实例化一次,page_load的时候可以用ispostback来控制那些只需要第一次执行....if(ispostback) {} 这里面的只有在页面回发的时候才执行,一般来说就是第一次 不执行。if(!ispostback) { } 这里面的就是第一次才执行。在该页面的生存期内只执行一次.
3.http协议是无状态的,所以postback的时候,控件的状态和值都保存在VIEWSTATE中....
4.页面类中的变量在postback的时候因为没有存入viewstate 所以会丢失.....
public partial class test2 : System.Web.UI.Page
{
int i;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
i = 10;
}
第一次输出的是10,因为在(!IsPostBack)赋值了....页面上再放个按钮激发回发事件就输出0.因为回发的时候重新实例化页面类丢失了
}
二 : ASP.NET MVC分页问题解决
在使用Ajax.Pager进行分页的时候需要注意一下几个方面:
1、一定要引入jquery.unobtrusive-ajax.min.js这个js;
2、一定要在页面中使用注册分页器,注册方法:@{Html.RegisterMvcPagerScriptResource();};
具体的使用方法示例:
<div class="row" style="position: relative; left: 30%"> <div class="col-md-8" style="width: auto"> @{ PagerConfig pagerConfig = new PagerConfig("pageIndex", "pageIndexBox", "goToBtn"); PagerOptions options = pagerConfig.GetPagerOption(); } @Ajax.Pager(Model, options).AjaxOptions(a => a.SetUpdateTargetId("articles").SetHttpMethod("Post").SetDataFormId("searchView")) </div> <div class="col-md-4"> <div class="input-group" style="width: 120px; margin: 20px 0"> <input type="text" id="pageIndexBox" class="form-control" /> <span class="input-group-btn"><button class="btn btn-primary" id="goToBtn">跳转</button></span> </div> </div> </div>
其中Model是IpagedList对象,获取PagerOptions的方法如下:
/// <summary> /// 翻页配置项 /// </summary> /// <returns></returns> public PagerOptions GetPagerOption() { PagerOptions options = new PagerOptions { AutoHide = false, FirstPageText = "首页", LastPageText = "尾页", NextPageText = "下一页", PrevPageText = "上一页", PageIndexParameterName = this._pageIndexParaName, ContainerTagName = "ul", CssClass = "pagination", CurrentPagerItemTemplate = "<li class="active"><a href="#">{0}</a></li>", DisabledPagerItemTemplate = "<li class="disabled"><a>{0}</a></li>", PagerItemTemplate = "<li>{0}</li>", PageIndexBoxId = this._pageIndexBoxId, GoToButtonId = this._goToButtonId, NumericPagerItemCount = 5 }; return options; }
目前所知,该控件不支持显示记录总数及总页数。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持61阅读。
三 : asp.net 页面中添加普通视频的几种方式
第一种
是通过调用window media player进行播放诸如:wmv,asf等格式文件:
复制代码 代码如下:
<object align=center class=OBJECT classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 height=320 id=MediaPlayer width=356>
<param name="ShowStatusBar" value="-1">
<param name="Filename" value="电影地址">
<embed type=application/x-oleobject codebase=http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701 flename=mp src=电影地址 width=356 height=320>
</embed>
</object>
复制代码 代码如下:
<object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=285 id=RAOCX name=rmplay width=356>
<param name="SRC" value="影片地址">
<param name="CONSOLE" value="Clip1">
<param name="CONTROLS" value="imagewindow">
<param name="AUTOSTART" value="true">
<embed src="影片地址" autostart="true" controls="ImageWindow" console="Clip1" pluginspage="http://www.real.com"/' target="_blank" >http://www.real.com"; width="356" height="285">
</embed>
</object>
复制代码 代码如下:
<object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=27 id=video1 width=356>
<param name="_ExtentX" value="7276">
<param name="_ExtentY" value="1058">
<param name="AUTOSTART" value="0">
<param name="SHUFFLE" value="0">
<param name="PREFETCH" value="0">
<param name="NOLABELS" value="0">
<param name="CONTROLS" value="ControlPanel">
<param name="CONSOLE" value="Clip1">
<param name="LOOP" value="0">
<param name="NUMLOOP" value="0">
<param name="CENTER" value="0">
<param name="MAINTAINASPECT" value="0">
<param name="BACKGROUNDCOLOR" value="#ffffff">
<embed type="audio/x-pn-realaudio-plugin" console="Clip1" controls="ControlPanel" height="27" width="356" autostart="0" _extentx="7276" _extenty="1058" shuffle="0" prefetch="0" nolabels="0" loop="0" numloop="0" center="0" maintainaspect="0" backgroundcolor="#ffffff">
</embed>
</object>
复制代码 代码如下:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="356" height=320>
<param name="movie" value="flash地址">
<param name="quality" value="high">
<embed src="flash地址" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"' target="_blank" >http://www.macromedia.com/go/getflashplayer"; type="application/x-shockwave-flash" width="356" height=320>
61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1