您的位置:首页 > 编程语言 > ASP

.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'表store

for(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不是nodeID

1.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"/>//写上style

4.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来做算了。关于主题我也只能下载一个类似的主题然后修改颜色,因为自己也没接触过制作论坛主题。
 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  .net asp.net 语言