.net项目总结内容+方法
2014-04-09 09:14
330 查看
1 Date日期
1.1Ext.net后台获取系统当前时间
DateTime.Now.ToLongDateString().ToString().Trim()(代码放进项目中会有详细提示)1.2后台日期格式转化
.getDateTimeStr("yyyy-MM-dd")2 Grid表格
2.1 Grid中批量删除选中checked中record
if(Ext.getCmp('fileAccordingGrid').getStore().getCount()>0){if(Ext.getCmp('fileAccordingGrid').hasSelection()){
Ext.MessageBox.confirm('选择框','确定删除?',function(btn){if(btn=='yes'){selectGridRecord()};});
}else{
Ext.Msg.alert('提示',"请您先选中要删除的用户!");
}
}else{
Ext.Msg.alert('提示',"没有数据可删除");
}
2.2Grid中批量获取选中checked中record
if(Ext.getCmp('GridPanel1').hasSelection()){var selection=Ext.getCmp("GridPanel1").getView().getSelectionModel().getSelection();
for(var i=0;i<selection.length;i++){
alert(selection[i].data.F_ResourceName);
}
Ext.getCmp('TextField1').setValue(selection.data.F_ResourceName);
}
2.3Grid中对于弹出窗口清空grid中数据
Ext.getCmp('GridPanel1').getStore().removeAll();//
Ext.getCmp("addPicture").show();
2.4Grid中点别的按钮选中一行数据最简单的写法
var selection=Ext.getCmp("GridPanel1").getView().getSelectionModel().getSelection()[0];取得这行数据中的属性selection.get("");
var selection=Ext.getCmp("GridPanel2").getView().getSelectionModel().getSelection();//选择被选中的数据
2.5 Grid判断是否有选中
if(Ext.getCmp('GridPanel').hasSelection()){}//哈哈原来已经写上了,忘记了2.6创建带有工具栏的Grid
ext:GridPanel ID="GridPanel"runat="server"ForceFit="true"><TopBar>//顶级酒吧
<ext:Toolbar ID="Toolbar2"runat="server">//工具栏
<Items>
<%--添加--%>
<ext:LinkButton ID="Button1"runat="server"Text="添加">
<Listeners>
<Click Fn="CancelUser"/>
</Listeners>
</ext:LinkButton>
</Items>
</ext:Toolbar>
</TopBar>
<Store>
<ext:Store runat="server"ID="RolePermissionStore">
<Model>
<ext:Model runat="server">
<Fields>
<ext:ModelField Name="F_PowerID"/>
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel>
<Columns>
<ext:Column runat="server"ID="F_PowerID"Hidden="true"DataIndex="F_PowerID"/>
</Columns>
</ColumnModel>
</ext:GridPanel>
2.7 Grid创建一条空数据
<Click Handler="#{RolePermissionStore}.insert(0,{});#{GridPanel1}.editingPlugin.startEditByPosition({row:0,column:0});"/>2.8 Grid获取stor相关操作
1 var ds=Ext.getCmp('fileAccordingGrid').getStore();//获取'fileAccordingGrid'表storefor(var i=0;i<ds.getCount();i++){//循环获取到的stor
alert(ds.getAt(i).get('F_ResourceNames'));//注意这里不是双引号,是单引号
}
2 ds.getAt(i).set('F_ResourceNames',Ext.getCmp('MaterialDocument').getValue());//给获取到的哪一条修改数据
3 ds.getAt(i)1.titleData.getCount();-----titleData为store的名称,getCount()获得当前缓存中的记录数
titleData.getAt(i).get('id'); ------i就记录的行号(从0开始),获得第i行id的值
//遍历stor中获取到的某一条数据而不是XX[]
2.9 Grid中的过滤
<ext:GridFilters ID="ContentGridFilters"runat="server"MenuFilterText="过滤"Local="true">//MenuFilterText修改中文过滤<Filters>
<ext:StringFilter DataIndex="F_ContentName"EmptyText="查找...."/>
</Filters>
</ext:GridFilters>
2.10 点击数据选中check
<SelectionModel><ext:CheckboxSelectionModel ID="GridChecks"runat="server" Mode="Multi"/> //Mode 次属性就是控制的
</SelectionModel>
2.11操作表格中的多个按钮
function ActionEvent(command, b) {if (command == "预览") {
Ext.getCmp("Window1").show();
ifame.src = "../Html/mobile.html"; //跳转页面
X.logPreview(); //调用后台方法
}
if (command == "审核") {
Ext.MessageBox.buttonText.yes = '审核'; //给审核弹出框改变显示
Ext.MessageBox.buttonText.no = '审核退回';
var config = {
title: '提示',
msg: '是否审核?', //提示信息
modal: true,
buttons: Ext.Msg.YESNO,
fn: showResult //调用方法
}
Ext.MessageBox.show(config);
}
if (command == "发布") {
X.logPublish();
X.publishPage(b.get("F_ContentID"));
}
}
2.12 隐藏刷新HideRefresh
3 Tree树
3.1 Tree点击树节点获取当前值
1 var node=Ext.getCmp("GetVideoTree").getSelectedNodes()[0]==""//没有选中节点2 alert(node.nodeID);//获取当前点击节点id
3 var node=Ext.getCmp("GetpictureTree").getSelectedNodes();//点击树节点同时获取值
4 root.getId() //获取根节点的ID
5 node.nodeID //获取普通节点的ID
3.2 Tree 获取根节点操作
1 var nodeRoot = Ext.getCmp('GetVideoTree').root.id; //获取GetVideoTree的根节点,和根节点的id不是nodeID1.2 Ext.getCmp('GetVideoTree').getRootNode().firstChild.data.id)//获取根节点下面第一个节点
4 Form表单
4.1复选框Checkbox
4.1.1设置label位置左边还是右边
//label在右边的写法BoxLabel<ext:Checkbox ID="modelsSingle"runat="server"BoxLabel="###"Checked="true"/>
//label在左边的写法FieldLabel
<ext:Checkbox ID="modelDoubleDay"runat="server"FieldLabel="###"/>
4.2日期控件Datefild
4.2.1设置日期控件之间的联动
方法1:<ext:DateField ID="effectiveStartDate"runat="server"Vtype="daterange"EndDateField="effectiveEndDate"/>
<ext:Label runat="server"Icon="BulletGo"/>
<ext:DateField ID="effectiveEndDate"runat="server"Vtype="daterange"/>
方法2:
<ext:DateField ID="DateField1"runat="server"Vtype="daterange">
<CustomConfig>
<ext:ConfigItem Name="endDateField"Value="DateField2"Mode="Value"/>
</CustomConfig>
</ext:DateField>
<ext:Label runat="server"Icon="BulletGo"/>
<ext:DateField ID="DateField2"runat="server"Vtype="daterange">
<CustomConfig>
<ext:ConfigItem Name="startDateField"Value="DateField1"Mode="Value"/>
</CustomConfig>
</ext:DateField>
4.3弹框提示
4.3.1 JS中调用后台方法后等待和弹框
//后台提示方法可以设置向前台一样的效果X.Msg.Alert("操作失败", "<font style='color:black;font-weight:bold;margin-top:23px'>不存在对应的加密锁!</font>").Show();
X.BindUserStore(node1.nodeID,{//BindUserStore调用的后台方法
eventMask:{
showMask:true,
minDelay:500,//设置等待时间
msg:'正在取消...'//等待时候提示
},
failure:function(errorMsg){
Ext.Msg.alert('Failure',errorMsg);
}
});
Ext.Msg.notify('提示',"已取消!");//右下方仿QQ提示
<ext:Panel ID="ppq"runat="server"Border="false"Padding="3"Header="false"ColumnWidth=".5"Layout="FormLayout">
<Defaults>
<ext:Parameter Name="LabelWidth"Value="55"Mode="Raw"/>//设置text前面的标题
</Defaults>
<Items>
<ext:TextField ID="txtUserName"runat="server"AllowBlank="false"FieldLabel=""用户名称"AnchorHorizontal="98%"></ext:TextField>
<ext:TextField ID="txtLoginName"runat="server"AllowBlank="false"FieldLabel="登录名称"AnchorHorizontal="98%"></ext:TextField>
</Items>
</ext:Panel>
4.4 Label文字
4.4.1居中显示
<ext:Label ID="Label43"runat="server"Icon="BulletMinus"Style="text-align:center"Width="80"/>//写上style4.4.2 嵌入html格式文字
<ext:Label ID="Label13" Border="false" runat="server" Region="Center" Html="<div id='header'><font color='red'>多媒体发布管理平台</font></div>" />4.5 DropDownField
4.5.1点击数据放进文本框中操作
JavaScript:var getUnit=function(tree,record,item,index,e){
var node=Ext.getCmp("GetpictureTree").getSelectedNodes();//获取下拉框中树节点
return node[0].text;//返回获取的节点Text
};
Ext代码:
<ext:DropDownField ID="UnitDropDownField"runat="server"Editable="false"Flex="10">
<ext:TreePanel ID="GetpictureTree"runat="server"Height="150"Shadow="true"UseArrows="true"
AutoScroll="true"Animate="true">
<Listeners>
<BeforeLoad Fn="nodeLoad"/>
//这种形式的书写方法
<ItemClick Handler="this.dropDownField.setValue(getUnit(this,record,item,index,e),true);"/>
</Listeners>
</ext:TreePanel>
</ext:DropDownFuld>
4.6多媒体
4.6.1播放视频
给你来个详细的,你只需要复制链接地址到指定路径基本没问题,你到优酷上去找个链接复制进去试试<object id="player"height="64"width="275"classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
<param name="AutoStart"value="-1"/>
<!--是否自动播放-->
<param name="Balance"value="0"/>
<!--调整左右声道平衡-->
<param name="enabled"value="-1"/>
<!--播放器是否可人为控制-->
<param name="EnableContextMenu"value="-1"/>
<!--是否启用上下文菜单-->
<param name="url"value="文件路径/文件名"/>
<!--播放的文件地址-->
<param name="PlayCount"value="1"/>
<!--播放次数控制,为整数-->
<param name="rate"value="1"/>
<!--播放速率控制,1为正常,允许小数,1.0-2.0-->
<param name="currentPosition"value="0"/>
<!--控件设置:当前位置-->
<param name="currentMarker"value="0"/>
<!--控件设置:当前标记-->
<param name="defaultFrame"value=""/>
<!--显示默认框架-->
<param name="invokeURLs"value="0"/>
<!--脚本命令设置:是否调用URL-->
<param name="baseURL"value=""/>
<!--脚本命令设置:被调用的URL-->
<param name="stretchToFit"value="0"/>
<!--是否按比例伸展-->
<param name="volume"value="50"/>
<!--默认声音大小0%-100%,50则为50%-->
<param name="mute"value="0"/>
<!--是否静音-->
<param name="uiMode"value="mini"/>
<!--播放器显示模式:Full显示全部;mini最简化;None不显示播放控制,只显示视频窗口;invisible全部不显示-->
<param name="windowlessVideo"value="0"/>
<!--如果是0可以允许全屏,否则只能在窗口中查看-->
<param name="fullScreen"value="0"/>
<!--开始播放是否自动全屏-->
<param name="enableErrorDialogs"value="-1"/>
<!--是否启用错误提示报告-->
<param name="SAMIStyle"value="value"/>
<!--SAMI样式-->
<param name="SAMILang"value="value"/>
<!--SAMI语言-->
<param name="SAMIFilename"value="value"/>
<!--字幕ID-->
</object>
4.7 Tab加载别的页面内容
4.7.1 Tab加载别的页面内容(非点击)
//以下是一个Tab在叶面加载时候刷新<ext:Panel runat="server"Title=" 查询电视内容 ">
<Loader ID="TextQuery"Url="TextQuery.aspx"runat="server"Mode="Frame">
<LoadMask ShowMask="true"Msg="加载中..."/>
</Loader>
</ext:Panel>
4.7.2 点击按钮新建Tab加载别的页面内容
<Command Handler="addTab(command,#{ConditionQueryTabPanel2}, record.data, 'PlayInsertManagement.aspx?F_ContentName='+encodeURI(record.data.F_ContentName), this);" />
用此种方法传递参数:传参前:ncodeURI(“xxxx”) (处理上面画线的部分)
接受: this.TabName.Value = Server.UrlDecode(Request.QueryString["F_ContentName"]);
4.8 Button
4.8.1给Button添加图片,对应不同的按下请求
1 这种可以自动改变图片的大小使之填充满<ext:ImageButton ID="lbRole" ToggleGroup="group1" ColumnWidth=".25" PressedImageUrl="resources/images/juered.png" OverImageUrl="resources/images/juered.png"
ImageUrl="resources/images/jue.png" runat="server" >
<Listeners>
<Click Handler="X.MemuLoadContent('Content/RolePermissions.aspx');"></Click>
</Listeners>
</ext:ImageButton>
4.9 邦定键盘上的按键Enter
<Listeners><KeyDown Handler="if (event.keyCode==13){#{Button1}.fireEvent('click');}" /> //Button1 是按钮控件的id,keyCode是键盘编号
</Listeners>
5页面跳转提交方式
5.1跳转下载
<embed src="flvplayer.flv"/>//嵌入视频5.2提交方式
string key = "4b99ec1244f5475ab781356aec822463";
string username = "Ebanswers";
string programs = "23";
string players = "080185";
string groups = null; //这个必须穿入一个空值 , 否则会抱错未将对象引用设置到对象的实例 切忌
string postData = string.Format("key={0}&username={1}&programs={2}&players={3}&groups={4}", key, username, programs, players, groups);//要发放的数据
byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(postData);//转化数组
HttpWebRequest objWebRequest = (HttpWebRequest)WebRequest.Create("http://192.168.31.118/Webedit/api/publishing/publishings/add");//发送地址
objWebRequest.Method = "POST";//提交方式
objWebRequest.ContentType = "application/x-www-form-urlencoded";//
objWebRequest.ContentLength = byteArray.Length;
Stream newStream = objWebRequest.GetRequestStream();//Send the data.
newStream.Write(byteArray, 0, byteArray.Length);//写入参数
newStream.Close();
HttpWebResponse response = (HttpWebResponse)objWebRequest.GetResponse();//获取响应
StreamReader sr = new StreamReader(response.GetResponseStream(), System.Text.Encoding.UTF8);
string textResponse = sr.ReadToEnd() + "返回数据";//返回的数据
Response.Write(textResponse);//打印返回值
get提交方式
private string GetData(string url)
{
String apiUrl=string.Format("{0}?key={1}&username={2}","http://192.168.31.118/Webedit/api/material/images/list","4b99ec1244f5475ab781356aec822463","Ebanswers");
String ss=apiUrl;
HttpWebRequest myRequest=(HttpWebRequest)WebRequest.Create(apiUrl);
myRequest.Method="GET";
HttpWebResponse myResponse=(HttpWebResponse)myRequest.GetResponse();
StreamReader reader=new StreamReader(myResponse.GetResponseStream(),Encoding.UTF8);
string content=reader.ReadToEnd();
reader.Close();
Response.Write(content);}
解析josn的一种方法
AllShow allshow = new AllShow();
allshow = JsonConvert.DeserializeObject(content, typeof(AllShow)) as AllShow;
5.3 form表单全部清除数据
Ext.getCmp('WinLogin').getForm().reset();6 Panel页面中的霸主
6.1布局属性
1 <Defaults><ext:Parameter Name="margins" Value="10" Mode="Value" /> //设置左右两遍离边界的距离
</Defaults>
<LayoutConfig>
<ext:VBoxLayoutConfig Align="Stretch" Pack="Center" /> //设置填充模式
</LayoutConfig>
2 borderlayout : HideBorders隐藏边界
3 AnchorLayout : anchor:'80% 30%', //宽度=容器宽度*80%,高度=容器*30%"
4 <ext:Panel ID="Panel1" runat="server" Header="false" BodyCls="Westback" Layout="FitLayout" >
<RightBar> </RightBar>//其中一种的停靠方式-居上级容器的右边显示
</ext:Panel〉
6.2 引入其他页面(如验证码页面),出现滚动条,可调整大小,点击刷新panel加载的内容
1 <ext:Panel ID="ExtNetSite" runat="server" Height="40" ><Loader ID="Loader1" runat="server" Url="VerificationCode.aspx" Mode="Frame" /> //读取其他页面内容
<ResizableConfig ID="ResizableConfig1" runat="server" Transparent="true" /> //可调整大小
</ext:Panel>
2 Ext.getCmp("Image1").load(); // 点击刷新panel加载的内容
7其他后台代码
7.1 List操作
1.1 List 删除操作for (int i = 0; i<user1.Count();i++ )
{
if (user1[i].F_RoleID <= power.F_RoleID) {
user1.RemoveAt(i);
}
}
7.2 js刷新页面(本页面和别的页面)
1 .js刷新本页面window.location.reload();
7.3 前台调用后台的[DirectMethod]方法
<head runat="server"><title></title>
<script runat="server">
[DirectMethod]
public void SetTimeStamp()
{
this.Label1.Text = DateTime.Now.ToLongTimeString();
this.Label1.Element.Highlight();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<ext:Button ID="Button1" runat="server" Text="Click Me" Icon="Lightning">
<Listeners>
<Click Handler="Ext.net.DirectMethods.SetTimeStamp();" />
</Listeners>
</ext:Button>
<br />
</form>
</body>
</html>
8 IO操作文件
8.1 文件路径(没有创建)if (File.Exists(Server.MapPath("../MDSfile/" + this.TabName.Text + "/R.xml"))) //判断路径是否存在(Server.MapPath判断相对路径)
{
contentXML(ltct, PerformWay, PerformDate, PerformTime, ContentName); //调用创建xml方法
}
else
{
string paths =Server.MapPath("../MDSfile/" + this.TabName.Text + "/R.xml");//路径不存在创建(不会影响到其他文件的创建)
}
Sql
1.1.net中条件查询写入多个条件
List<Expression<Func<ContentDTO,bool>>>Insurelist=new List<Expression<Func<ContentDTO,bool>>>();//声明条件集Insurelist.Add(p=>p.F_Author.Equals(personnelNameTextField.Text));//添加条件
IList<ContentDTO>list=BLL.FindContentFileByExpression(Insurelist,(int)user.F_OrgID,(int)user.F_UserID,start,limit,"","",out total);//调用后台方法并返回list
1.2 Linq查询语句和更新语句
1 var q = (from c in _Context.jishu select c); //普通的查询语句,查询出来的不知道是什么东西可以q.Tolist()变为IList类型2 var q = (from c in _Context.jishu elect c).SingleOrDefault(); //查询一条语句的方式,直接可以取到里面的值
3 var o = _Context.jishu.Single(p => p.ID == 1); //更新语句的方法
o.num = nu;
_Context.SaveChanges();
Css
1 BodyCls属性
<style type="text/css">
.back
{
background-image: url('../resources/images/log/back.png');
background-size: cover;
}
.back2
{
background-image: url('../resources/images/log/bbb.png'); //背景图片
background: transparent; 设置透明
}
</style>
<ext:Panel ID="Panel2" runat="Server" Region="Center" Frame="true" Border="false" Layout="HBoxLayout" BodyCls="back"> //定义一个背景(以上style)
<Items>
<ext:Panel runat="server" Border="false" Width="300" Height="400" BodyCls="back2"> //body属性
<Items>
<ext:Button ID="Button1" runat="server" Text="2222222222"/>
</Items>
</ext:Panel>
</Items>
</ext:Panel>
2 js 监听浏览器关闭事件
window.onbeforeunload = onbeforeunload_handler;window.onunload = onunload_handler;
function onbeforeunload_handler(){
var warning="确认退出?";
return warning;
}
function onunload_handler() {
var warning = "谢谢光临";
alert(warning);
}
(肆)配置iis发布网站
最近工作需要IIS,自己的电脑又是Windows7系统,找了下安装的方法,已经安装成功。在博客里记录一下,给需要的朋友,也是给自己留个备份,毕竟我脑子不是很好使。一、首先是安装IIS。打开控制面板,找到“程序与功能”,点进去
二、点击左侧“打开或关闭Windows功能”
三、找到“Internet 信息服务”,iis打勾即可等待安装完成
四、安装完成后,再回到控制面板里面,找到“管理工具”,点进入
五、双击“Internet 信息服务(IIS)管理器”就是IIS了。如果经常需要使用IIS的朋友,建议鼠标指到“Internet 信息服务(IIS)管理器”上,右键--发送到--桌面快捷方式,这样就能从桌面进入IIS,而不用每次都点控制面板。
IIS界面:
六、选中“Default Web Site”,双击中间的“ASP”
把“启用父路径”改为“True”
七、下面就是配置站点了。单击右侧“高级设置”
选择你网站的目录
八、回到IIS,单击右侧的“绑定...”,选中你要绑定的网站,点“编辑”
如果是一台电脑,只修改后面的端口号就行,可以随意修改数字。如果是办公室局域网,点击下拉框,选择自己电脑上的局域网IP,例如:192.168.**.**,然后修改端口号
九、回到IIS,如果右侧显示停止,就选择启动,然后点击下面的浏览网站,就可以打开你绑定文件夹里面的网站了 错误如果要使用托管的处理程序,请安装 ASP.NET 请在命令提示符里面写上"%WINDIR%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" -iru -enable
十、如果有多个网站,在IIS左边“网站”右键“添加网站”
主要修改三个地方,“网站名称”、“物理路径”、“端口”,如果局域网,请修改“IP地址”,同上
十一、添加好后,点击新建的网站名字,就是这个网站的详情了。
本来这次是打算用Discuz!NT来做的,方便与以后做的asp.net网站对接会员。但是老板要求快速,而Discuz!NT我连放到本地VS里面运行都忘记了,所以只好用Discuz! 7.2来做算了。关于主题我也只能下载一个类似的主题然后修改颜色,因为自己也没接触过制作论坛主题。
相关文章推荐
- Git Bash+EGit在项目中配合使用最常用方法总结(根据场景使用)
- StatSVN插件使用方法总结-项目代码分析工具 工作量图表生成工具
- 项目调试时候,出现其中用到的一个组件“访问被拒绝”的解决方法(.net的一个BUG)
- 项目中使用过的lodash方法总结
- 解决UITableView中Cell重用机制导致内容出错的方法总结
- js清除浏览器缓存的几种方法(项目总结)
- node 关于项目中post和get方式的参数接收方法总结
- Java获得项目绝对路径方法总结
- 近期.NET学习及项目开发整理-总结开发的经验
- 获取web项目的绝对路径的方法总结
- Java Web项目中解决中文乱码方法总结
- .net类库中发送电子邮件的方法总结收藏(周公的文件)
- .net生成静态页方法总结
- 一次项目总结,内容设置页面
- 减小项目APK包的常规方法总结
- vue项目中总结用到的方法。
- MFC项目开发方法和技巧总结
- js调用.net后台事件,和后台调用前台等方法总结
- .net项目技术选型总结