C#Web应用程序入门经典学习笔记之二

读取Web.config中设置

Conn = new SqlConnection(ConfigurationSettings.AppSettings[“cnFriends.ConnectString”]);

<appSettings>

<!--   User application and configured property settings go here.-->

<!--   Example: <add key="settingName" value="settingValue"/> -->

<add key="cnFriends.ConnectionString" value="data source=(local)\NetSdk;initial catalog=FriendsData;user id=sa" />  </appSettings>

几个命名空间

当用到DataSet时,用using system.Data.SqlClient

当配置Web.config时,用using system.Configuration

这个让我想起了大一学习C语言时

bool visible

btnSearch.Text = visible? “New Search” : “Search” ;

这个也蛮好

dsResult.tables[“Users”].rows.count

Conver.Tonint32(ConfigurationSettings.AppSettings[“Cokuale.number”]);

够狠1:用Session保存结果并绑定

Session[“Search”] = dsResults;

dsResults = (DataSet) Session[“Search”];

grdResults.DataBind();
其实,Session,Application等存的是object 类型,因此,最后都要显式转换类型
顺便说说,判断是否取到字符串类型的值用null 判断。

够狠2:从DataTable中选择行

DataRow[] rows = dsResults.Tables[“Users”].Select(filter);

dsResults = dsResults.Clone();

foreach(DataRow row in rows)

{

dsResults.Tables[“Tables”].ImportRow(row);

}

获取webForm 上的一个控件

ImageButton img = (ImageButton)e.Item.FindControl(“Selectbutton”)

跳转:

Server.Transfer(“Caoxicao.aspx”);

服务器控件添加js脚本(Attributes属性)

imgShow.Attributes.Add(“onclick”,”document.getElementById(‘tbPrefs').style.display = ‘block';”);
再(Style属性),

img.Style.Add(“Cursor”,'Pointer');

Color相关:

ColorConvert cv = new ColorConvert();

Color selected = Color.Empty;

Selected = (olor)cv.ConvertFromString(White);

增加Cookie

Response.Cookies.Add(new HttpCookie(“backColor”,r))

我的最爱----用户控件

Using FriendsReunion.Controls;

Protectd override void Oninit(EventArgs e)

{

FriendsFooter _footer = (FriendsFooter)LoadControl(Request.ApplicationPath+”/Controls/ FriendsFooter.aspx”);

SubHeader _subHeader = new SubHeader();

}

Page.Contros.AddAt(0,_footer);

Page.Contros.AddAt(0,_subHeader);

base.OnInit(e);

}

新建Html控件实例

HtmlGenericControl div = new HtmlGenericControl(“div”);

div.Style.Add(“background-color”,bg);

使用该类可以表示不直接用 .NET Framework 类表示的 HTML 服务器控件标记,如 <span>、<div>、<body> 和 <font>

返回DataSet

Public DataSet Contact()

{

String sql = “@ Select * from … …”;

DataSet requests = new DataSet();

New SqlDtaAdapter (sql,conn).Fill(requests);

//return requests.GetXml();
                   Return requests;

}

接收:(当返回值是Xml格式的数据集时)

DataSet results = new DataSet();

Results.ReadXml(new StringReader(fi.ContactRequest(userid)));

用到WebService时,只需在方法上添加[WebMethod]特性即可!

如果添加缓存,则[WebMethod(CacheDurition=600)]

实例化WebService

FriendsService.FriendsInfo fi = new FriendsService.FriendsInfo();

String userid;

Userid = fi.GetUserID(“…”);

小Tips!

HyperLink reg = new HyperLink();

Reg.ToolTip = “… …”;

签出:

System.Web.Security.Forms.Authentication.SignOut();

Response.write (Request.ApplicaltionPath);

跟踪调试:

Trace.Write

Trace.Warn

异常:

1.   抛出异常

程序异常抛出

Throw new ***Exception(“…”);

2.   捕获异常

必须开始时从一个try代码块抛出,try代码块用来放置所有可能抛出异常的代码。

Eg:

Try

{

… …

}

Catch(ArgumentNullExeption e)

{

}

未处理异常web.config设置

<Custom Errors mode = “on” defaultRedriect = “customerror.aspx”; />

(0)

相关推荐

  • C#使用windows服务开启应用程序的方法

    本文实例讲述了C#使用windows服务开启应用程序的方法.分享给大家供大家参考.具体如下: 使用windows服务开启应用程序,会遇到如下问题 1.使用windows服务开启的应用程序不会显示应用程序界面 解决方法:当安装服务之后,选中服务,点击属性->登录,然后设置登录身份为本地系统账户,并允许服务与桌面进行交互 2.使用的是远程桌面进行查看,不会显示界面 解决方法:不能直接使用mstsc命令进入远程桌面,要使用mstsc /v:192.168.1.10 /admin命令 ,这里192.16

  • C#实现带消息数的App图标

    上次写了一篇博文,但是每次更新图标时,桌面会闪烁(刷新)http://www.jb51.net/article/73350.htm,有博友说人家的图标都不会刷新,还能动画.我想了一下,如果要达到这个效果,可以用Form来实现,就是在Form中嵌入一个图片,然后用一个label来动态显示消息数,关键是将Form的边框隐藏,背景设为透明即可.如果要有旋转或者缩放动画,都可以用C#来实现. using System; using System.Collections.Generic; using Sy

  • C#Web应用程序入门经典学习笔记之一

    最近看了<Beginning C# Web Applications Wtith Visual Studio .Net >.感觉这本书在一些细节方面写的不错,特做笔记,为后来者提供一些或许有用的东东.今天先写出来一些,年前正确整理完. 当前日期: Lbll.Text = DateTime.Now.ToLongDataString(); This.controls.Add(lbl); URL: HyperLink reg = new HyperLink(); Reg.Text = "R

  • C#实现将应用程序设置为开机启动的方法

    本文实例讲述了C#实现将应用程序设置为开机启动的方法.分享给大家供大家参考.具体如下: private void WriteRegistry() { string strName = Application.ExecutablePath; if (File.Exists(strName)) { string strNewName = Path.GetFileName(strName); RegistryKey reg = Registry.LocalMachine.OpenSubKey("SOF

  • C#向无窗口的进程发送消息

    注:本文适用.net2.0+的winform程序 一个winform程序,我希望它不能多开,那么在用户启动第二个实例的时候,作为第二个实例来说,大概可以有这么几种做法: 1.弹个窗告知用户[程序已运行]之类,用户点击弹窗后,退出自身 2.什么都不做,默默退出自身 3.让已运行的第一个实例把它的窗体显示出来,完了退出自身 显然第3种做法更地道,实现该效果的核心问题其实是:如何显示指定进程的窗口? 首先想到的是调用ShowWindow.SetForegroundWindow等API,配合使用可以将被

  • C#微信开发之接收 / 返回文本消息

    接收 / 返回文本消息 ①接收/返回文本消息原理说明 当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上,着手开发之前先行阅读微信公众平台接收普通消息微信开发文档,对微信的这种消息处理机制有一定了解之后再着手开发(微信开发接收普通消息开发文档) 注意点: 1.关于重试的消息排重,推荐使用msgid排重. 2.微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次.假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对此

  • C# 禁止应用程序多次启动的实例

    通常我们的情况是,双击一个exe文件,就运行一个程序的实体,再双击一次这个exe文件,又运行这个应用程序的另一个实体.就拿QQ游戏来说吧,一台电脑上一般只能运行一个QQ游戏大厅(不过以前听说过有双开的外挂). 那我们的程序也能像QQ游戏那里禁止多次启动吗,答案是可以的,下面介绍下一个简单的实现方法,那就是Mutex(互斥). Mutex(mutual exclusion,互斥)是.Net Framework中提供跨多个线程同步访问的一个类.它非常类似了Monitor类,因为他们都只有一个线程能拥

  • C#实现在应用程序间发送消息的方法示例

    本文实例讲述了C#实现在应用程序间发送消息的方法.分享给大家供大家参考,具体如下: 首先建立两个C#应用程序项目. 第一个项目包含一个Windows Form(Form1),在Form1上有一个Button和一个TextBox. 第二个项目包含一个Windows Form(Form1),在Form1上有两个Button,分别用来测试第一个应用程序中Button的Click事件和修改第一个应用程序中TextBox的值. 第一个应用程序中Form的代码如下: using System; using

  • C#记录消息到日志文件的方法

    本文实例讲述了C#记录消息到日志文件的方法.分享给大家供大家参考.具体实现方法如下: public void LogMessageToFile(string msg) { System.IO.StreamWriter sw = System.IO.File.AppendText("log.txt"); try { string logLine = System.String.Format("{0:G}: {1}.", System.DateTime.Now, msg

  • C# WinForm应用程序降低系统内存占用方法总结

    背景: 微软的 .NET FRAMEWORK 现在可谓如火如荼了.但是,.NET 一直所为人诟病的就是"胃口太大",狂吃内存,虽然微软声称 GC 的功能和智能化都很高,但是内存的回收问题,一直存在困扰,尤其是 winform 程序,其主要原因是因为.NET程序在启动时,是需要由JIT动态编译并加载的,这个加载会把所有需要的资源都加载进来,很多资源是只有启动时才用的. 以XP 系统为例子,程序启动后,打开任务管理器,会看到占用的内存量比较大,你把程序最小化,会发现该程序占用的内存迅速减小

  • c#取得控制台应用程序根目录

    1.取得控制台应用程序的根目录方法 方法1.Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径方法2.AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集 2.取得Web应用程序的根目录方法 方法1.HttpRuntime.AppDomainAppPath.ToString();//获取承载在当前应用程序域中的应用程序的应用程序目录的物理驱动器路径.用于App_Data中获取方法2

随机推荐