VSNET开发中的小技巧.docx
- 文档编号:5800647
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:38
- 大小:32.49KB
VSNET开发中的小技巧.docx
《VSNET开发中的小技巧.docx》由会员分享,可在线阅读,更多相关《VSNET开发中的小技巧.docx(38页珍藏版)》请在冰豆网上搜索。
VSNET开发中的小技巧
VS.NET开发中的小技巧
技巧:
图片使网站丰富起来,但有的时候不是所有图片都能正常显示的。
这个时候会出现一个或多个红叉叉,这个技巧是告诉你如何处理的。
在DataGrid和GridView中对表头设定背景图片
privatevoidDataGrid1_ItemDataBound(objectsender,System.Web.UI.WebControls.DataGridItemEventArgse)
{
if(e.Item.ItemType==System.Web.UI.WebControls.ListItemType.Header)
{
e.Item.Attributes.Add("style","background-image:
url('background.gif')");
}
}
GridView:
protectedvoidGridView1_RowDataBound(objectsender,GridViewRowEventArgse)
{
if(e.Row.RowType==DataControlRowType.Header)
{
e.Row.Attributes.Add("style","background-image:
url('background.gif')");
}
}
在DataGrid和GridView中对表头设定背景图片,不需要后台代码。
GridViewrunat="server"ID="gvStatList"AllowPaging="false"Width="100%"CssClass="grid" AutoGenerateColumns="false"Visible="true"ShowFooter="false">
GridView>
.grid-head{
font-size:
14px;
font-weight:
normal;
color:
#FFFFFF;
background-image:
url(../images/grid-bg.gif);
text-align:
center;
vertical-align:
middle;
height:
28px;
}
互斥对象.很多情况下存在互斥对象,我通常这么处理
boolshowObject
...{
set...{
TextBox1.Visible=value;
TextBox2.Visible=!
value;
}
}
可以实现动态图片显示
<%=str%>
后台代码
变量
变量=@
foreach(DataRowdr_ChildindsResult1.Tables[0].Rows)
{
if(!
Convert.ToBoolean(dr_Child["FLAG"]))
{
msiChild.sFontColor="FontRed";
msiChild.BM=@"
}
elseif(Convert.ToBoolean(dr_Child["FLAG"]))
{
msiChild.BM=@"
}
str+=msiChild.BM;
}
returnstr;
@"
"
数据显示时
XXXXXXXXXXXXXX
XXXX
XXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXXXXXXXXXXXX
XXXX
XXXX
一列显示多条不同的数据
在改改就可以实现动态图片按扭并且每个按扭可以传不同的值出去
sBM+=i["name"].ToString()+@" hand')/>"; 这样+JS代码就是动态图片按扭 Asp.Net2.0中我们可以方便的访问配置文件中,.NetFrameWork2.0新增加了SystemWebSectionGroup类。 允许用户以编程方式访问配置文件的system.web组。 比如判断web.config内是否为debug="true",或者判断身份验证形式 SystemWebSectionGroupws=newSystemWebSectionGroup(); CompilationSectioncp=ws.Compilation; 用cp.Debug;就可以得到compilation节内关于"debug"的配置 AuthenticationSectionas=ws.Authentication; 用as.Mode可以获取authentication节中关于"mode"的配置,值为AuthenticationMode枚举之一 AuthenticationMode的取值如下: 成员名称说明 Forms将基于ASP.NET窗体的身份验证指定为身份验证模式。 None不指定身份验证。 Passport将MicrosoftPassport指定为身份验证模式。 Windows将Windows指定为身份验证模式。 在使用Internet信息服务(IIS)身份验证方法(基本、简要、集成Windows(NTLM/Kerberos)或证书)时适用此模式。 附: SystemWebSectionGroup类的公共属性: 名称说明 AnonymousIdentification获取anonymousIdentification节。 Authentication获取authentication节。 Authorization获取authorization节。 BrowserCaps获取browserCaps节。 ClientTarget获取clientTarget节。 Compilation获取compilation节。 CustomErrors获取customErrors节。 Deployment获取deployment节。 DeviceFilters获取deviceFilters节。 Globalization获取globalization节。 HealthMonitoring获取healthMonitoring节。 HostingEnvironment获取hostingEnvironment节。 HttpCookies获取httpCookies节。 HttpHandlers获取httpHandlers节。 HttpModules获取httpModules节。 HttpRuntime获取httpRuntime节。 Identity获取identity节。 IsDeclarationRequired获取一个值,该值指示是否需要声明此ConfigurationSectionGroup对象。 (从ConfigurationSectionGroup继承。 ) IsDeclared获取一个值,该值指示是否已声明此ConfigurationSectionGroup对象。 (从ConfigurationSectionGroup继承。 ) MachineKey获取machineKey节。 Membership获取membership节。 MobileControls获取mobileControls节。 Name获取此ConfigurationSectionGroup对象的名称属性。 (从ConfigurationSectionGroup继承。 ) Pages获取pages节。 ProcessModel获取processModel节。 Profile获取profile节。 Protocols获取protocols节。 RoleManager获取roleManager节。 SectionGroupName获取与此ConfigurationSectionGroup关联的节组名称。 (从ConfigurationSectionGroup继承。 ) SectionGroups获取一个包含所有ConfigurationSectionGroup对象的ConfigurationSectionGroup对象,这些对象是此ConfigurationSectionGroup对象的子对象。 (从ConfigurationSectionGroup继承。 ) Sections获取一个ConfigurationSectionCollection,它包含此ConfigurationSectionGroup中的所有ConfigurationSection对象。 (从ConfigurationSectionGroup继承。 ) SecurityPolicy获取securityPolicy节。 SessionState获取sessionState节。 SiteMap获取siteMap节。 Trace获取trace节。 Trust获取trust节。 Type获取或设置此ConfigurationSectionGroup对象的类型。 (从ConfigurationSectionGroup继承。 ) UrlMappings获取urlMappings节。 WebControls获取webControls节。 WebParts获取webParts节。 WebServices获取webServices节。 XhtmlConformance获取xhtmlConformance节。 ======================================== C#code /// ///显示消息提示对话框,并进行页面跳转 /// /// /// /// publicstaticvoidShowAndRedirect(System.Web.UI.Pagepage,stringmsg,stringurl) { StringBuilderBuilder=newStringBuilder(); Builder.Append(" Builder.AppendFormat("alert('{0}');",msg); Builder.AppendFormat("top.location.href='{0}'",url); Builder.Append(""); //page.RegisterStartupScript("message",Builder.ToString()); page.ClientScript.RegisterStartupScript(page.GetType(),"message",Builder.ToString()); } ===================================== 假设这样一种模型,显示用GridView,数据源用DataSet。 每次获取10条信息,按每页10条分页。 有的时候数据可能不足10条,而客户要求不足10条显示为空行,以下代码解决了这个问题。 C#code privateDataTableFillBlank(intpageSize,DataTabledt) { if(dt.Rows.Count { for(inti=dt.Rows.Count-1;i { DataRowdr=dt.NewRow(); dt.Rows.Add(dr); } } returndt; } privatevoidBindGrid(DataTabledt) { GridView.DataSource=dt; GridView.DataBind(); } =============================================== 给大家一个很[color=#008000]COOL的例子吧。 有的时候我们想把网页动起来,我们希望页面上的某些元素可以移动,称之为拖拽。 [/color] 原创 HTMLcode <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="Drag.aspx.cs"Inherits="Test.Drag"%> DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http: //www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> //www.w3.org/1999/xhtml"> //为Number增加一个属性,判断当前数据类型是否是数字 Number.prototype.NaN0=function(){returnisNaN(this)? 0: this;} //全局变量 variMouseDown=false; vardragObject=null; //获得鼠标的偏移量(对象2-对象1) functiongetMouseOffset(target,ev) { ev=ev||window.event; vardocPos=getPosition(target); varmousePos=mouseCoords(ev); return{x: mousePos.x-docPos.x,y: mousePos.y-docPos.y}; } //获得事件发生的实际位置----------------------对象1 functiongetPosition(e) { varleft=0; vartop=0; //相对位置累加得到实际位置 while(e.offsetParent) { left+=e.offsetLeft+(e.currentStyle? (parseInt(e.currentStyle.borderLeftWidth)).NaN0(): 0); top+=e.offsetTop+(e.currentStyle? (parseInt(e.currentStyle.borderTopWidth)).NaN0(): 0); e=e.offsetParent; } left+=e.offsetLeft+(e.currentStyle? (parseInt(e.currentStyle.borderLeftWidth)).NaN0(): 0); top+=e.offsetTop+(e.currentStyle? (parseInt(e.currentStyle.borderTopWidth)).NaN0(): 0); return{x: left,y: top}; } //获得发生事件鼠标的位置----------------------对象2 functionmouseCoords(ev) { if(ev.pageX||ev.pageY) { return{x: ev.pageX,y: ev.pageY}; } return{x: ev.clientX+document.body.scrollLeft-document.body.clientLeft,y: ev.clientY+document.body.scrollTop-document.body.clientTop}; } //定义可以拖拽的对象 functionmakeDragable(item) { if(! item)return; //为可拖拽对象定义一个onmousedown事件的方法 ev=window.event; item.onmousedown=function(ev) { dragObject=this; mouseOffset=getMouseOffset(this,ev); returnfalse; } } //定义鼠标点下所调用的方法 functionmouseDown(ev) { ev=ev||window.event; vartarget=ev.target||ev.srcElement; if(target.onmousedown||target.getAttribute('DragObj')) { returnfalse; } } //鼠标抬起后释放对象 functionmouseUp(ev) { dragObject=null; //onmouseup事件触发时说明鼠标已经松开,所以设置down变量值为false iMouseDown=false; } //鼠标移动 functionmouseMove(ev) { ev=ev||window.event; vartarget=ev.target||ev.srcElement; varmousePos=mouseCoords(ev); if(dragObject) { if(dragObject.style) { //移动对象 dragObject.style.left=mousePos.x-mouseOffset.x; dragObject.style.top=mousePos.y-mouseOffset.y; } } //lMouseState=iMouseDown; if(dragObject)returnfalse; } document.onmousedown=mouseDown; document.onmousemove=mouseMove; document.onmouseup=mouseUp; functionmoveImg() { varimg1=document.getElementById('img1'); makeDragable(img1); } absolute;left: 0px;top: 0px;"/>