基本提醒:率先个示范方法:1 SqlConnection conn = new SqlConnection

SqlConnection conn = new SqlConnection();
      conn.ConnectionString = “Server=127.0.0.1;User
ID=sa;Password=fdahgdrethj31313210212121;Database=northwind;Persist
Security Info=True”;
      conn.Open();
      SqlDataAdapter da = new SqlDataAdapter(“select * from 表”,
conn);
      SqlCommandBuilder thisBulder = new SqlCommandBuilder(da);
      DataSet ds = new DataSet();
      da.Fill(ds);

前记:把ASP.NET上课的说的13难点收拾了眨眼间间,只是本身复习的总节,不是最终的考试的主题材料,请在乎,大家看下是不是科学吧,源码+本文Word版(10日更新第11题卡塔尔国群中的那份杨丽美整理的asp.net期末复习总括DOC

datagrid数据导出到excel文件给客商端下载的两种情势
新做项目客商必要把数量倒入到EXCEL中,在英特网查询到如下方法,笔者用的第几种艺术,特别正确,贴上供大家分享:

第贰个示范方法:

      ds.WriteXml(@”C:\temp.xml”);

private void WriteXmlToFile(DataSet thisDataSet) {
    if (thisDataSet == null) { return; }
    // Create a file name to write to.
    string filename = “myXmlDoc.xml”;
    // Create the FileStream to write with.
    System.IO.FileStream myFileStream = new System.IO.FileStream
       (filename, System.IO.FileMode.Create);
    // Create an XmlTextWriter with the fileStream.
    System.Xml.XmlTextWriter myXmlWriter =
       new System.Xml.XmlTextWriter(myFileStream,
System.Text.Encoding.Unicode);
    // Write to the file with the WriteXml method.
    thisDataSet.WriteXml(myXmlWriter);  
    myXmlWriter.Close();
 }

Asp.net 13题

                                             
–ly整理于2007-1-17

1.  
服务器瑞增多代码的二种办法P91

答:1>混合代码<%%>

2>内联代码<script></script>

3>遮掩代码

2.  
什么是组件,组件是由哪些品种模板创立,为什么创造?P50

答:组件是编写翻译成DLL文件的类.是由”类库”那个类型模板成立的,组件能够被分化的应用程序分享.

3.  
绑定DataGrid或DropDownList控件(选取表中的一例卡塔尔国详细见”
DropDownList.aspx”

答:

前提:在数据库中有一张表为”System_Dept”当中有一例为”DeptName”,页面上还也可能有五个DropDownList ” DDLDept”(因为要边连数据库.代码就不兑现了State of Qatar

 

1>绑定DropDwonList控件

重在代码如下:

private void Page_Load(object sender,
System.EventArgs e)

{

// 在这里地放置客户代码以初步化页面

if(!Page.IsPostBack)

{

//页面起头化时绑定数据

string

CnnString=System.Configuration.ConfigurationSettings.AppSettings[“DBConnectionString”];

SqlConnection Connection = new
SqlConnection(CnnString);

Connection.Open();

string cmdStr=”select DeptName from
System_Dept”;

SqlCommand cmd=new
SqlCommand(cmdStr,Connection);

SqlDataReader dr=cmd.ExecuteReader();

DDLDept.DataSource=dr;

DDLDept.DataTextField=”DeptName”;

DDLDept.DataValueField=”DeptName”;

DDLDept.DataBind();

dr.Close();

}

}

2>绑定到DataGrid控件

            string strConStr=””;//这里写连接字符串

              string selectString = “Select * from
System_Dep”;

              DataSet ds = new DataSet();

              SqlConnection con = new SqlConnection(strConStr);

              SqlDataAdapter da = new SqlDataAdapter(selectString,con);

              da.Fill(ds);

              this.DataGrid1.DataSource = ds;

             
DataGrid1.DataBind();

 

4.  
调用xml WEB Service左券有哪些?代理和xml Web
瑟维Stone常使用什么公约?要明白web方法应该给艺术增多什么性质?

答:

1>HTTP,GET,Post,SOAP

2>SOAP

3>[WebMethod] 

5.  
DataSet
数据写到xml里,xml文书档案填入Dataset

答:

1>    先由xml文件转dataset,详细代码见源码

 #region
GetDataSetByXml

         /// <summary>

         ///
读取xml直接回到DataSet

         /// </summary>

         /// <param name=”strXmlPath”>xml文件相对路线</param>

         /// <returns></returns>

         public static DataSet GetDataSetByXml(string strXmlPath)

         {

              try

              {

                   DataSet ds = new DataSet();

                  
ds.ReadXml(GetXmlFullPath(strXmlPath));////读取XML到DataSet

                   if(ds.Tables.Count > 0)

                   {

                       return ds;

                   }

                   return null;

              }

              catch(Exception expInGetDataSetByXml)

              {

                   string str =
expInGetDataSetByXml.ToString();

                   return null;

              }

         }

         #endregion

 

         /// <summary>

         ///
再次来到完整路线

         /// </summary>

         /// <param name=”strPath”>Xml的路径</param>

         /// <returns></returns>

         public static string GetXmlFullPath(string strPath)

         {       

              if(strPath.IndexOf(“:”State of Qatar > 0State of Qatar////若是路线中富含:符号,则确认为流传的是完整路线

              {

                   return strPath;

              }

              else

              {

                   return
System.Web.HttpContext.Current.Server.MapPath(strPath卡塔尔;////重回完整路线

              }

         }

2>    由DataSet生成四个xml文件,详细代码见源码

///
<summary>

         ///
将三个dataset写入三个xml文件

         /// </summary>

         /// <param name=”thisDataSet”>要写入dataset的xml文件</param>

         /// <param name=”filename”>xml的文书名</param>

         /// <param name=”fileAccess”>写入xml的的写入措施</param>

         public 
void WriteXmlToFile(DataSet
thisDataSet,string
filename,System.IO.FileMode fileAccess)

         {

              System.IO.FileStream
myFileStream;

              try

              {

                   if (thisDataSet == null) { return; }

                   // Create a file name to write to.

                   // Create the FileStream to write
with.

                   myFileStream = new System.IO.FileStream

                      
(filename,fileAccess);

                   // Create an XmlTextWriter with the
fileStream.

                  
System.Xml.XmlTextWriter myXmlWriter =

                       new System.Xml.XmlTextWriter(myFileStream,
System.Text.Encoding.Unicode);

                   // Write to the file with the WriteXml
method.

                  
thisDataSet.WriteXml(myXmlWriter);  

                  
myXmlWriter.Close();

              }

              catch(System.Exception e)

              {

                   throw new
System.IO.IOException(“在将dataset写入xml文件现身分外,请检查”卡塔尔;

              }

         }

 

 

6.  
创建Cookies文件,期限P416  第10题
(把过期时间设成15天0701十二十一日纠正卡塔尔

答:

1>写Cookies,见代码”
Write库克ies.aspx”(写Cookie卡塔尔国和读Cookie” ReadCookies.aspx”,上边只写出写Cookie的代码

 

              HttpCookie myCookie =
new HttpCookie(“MyTestCookie”);

              DateTime now =
DateTime.Now;

              //设置cookie的值

             
myCookie.Values[“userName”]=”Jack”;

             
myCookie.Values[“phone”]=”123456″;

             
myCookie.Values[“zipcode”]=”10001″;

             
myCookie.Values[“Email”]=”Jack@hotmail.com”;

              //设置Cookies过期的年限,这里是15天

              myCookie.Expires =
now.AddDays(15);

              // 加入 cookie.

             
Response.Cookies.Add(myCookie);

 

7.  
成立两表早先的涉及,详细代码见”
DataRelationShip.aspx”

答:

         /// <summary>

         ///
在二个dataSet中开创七个表,里面有表关系

         /// </summary>

         private void
DemonstrateReadWriteXMLDocumentWithStreamReader()

         {

              //创设第一章表,主表,有两例,id(主键卡塔尔,item

              DataSet OriginalDataSet =
new DataSet(“myDataSet”);

              OriginalDataSet.Namespace=
“NetFrameWork”;

              DataTable myTable = new DataTable(“myTable”);

             

              DataColumn c1 = new DataColumn(“id”,
Type.GetType(“System.Int32”));

              c1.AutoIncrement= true;

              DataColumn c2 = new DataColumn(“item”);

             
myTable.Columns.Add(c1);

             
myTable.Columns.Add(c2);

             
OriginalDataSet.Tables.Add(myTable);

              //加入行

              DataRow newRow;

              for(int i =
0; i < 10; i++)

              {

                   newRow =
myTable.NewRow();

                   newRow[“item”]=
“item ” + i;

                  
myTable.Rows.Add(newRow);

              }

 

              //创设第三个表,有三例,著名字,地址,注释

              DataTable tbDetails =
new DataTable(“tbDetails”卡塔尔;//第一张表的详细新闻

              DataColumn cId = new DataColumn(“id”,
Type.GetType(“System.Int32”));

              DataColumn cName = new
DataColumn(“strName”,Type.GetType(“System.String”));

              DataColumn cAdress = new
DataColumn(“strAdress”,Type.GetType(“System.String”));

              DataColumn cRemark = new
DataColumn(“strRemark”,Type.GetType(“System.String”));

             
tbDetails.Columns.Add(cId);

             
tbDetails.Columns.Add(cName);

             
tbDetails.Columns.Add(cAdress);

             
tbDetails.Columns.Add(cRemark);

             
OriginalDataSet.Tables.Add(tbDetails);

             
OriginalDataSet.AcceptChanges();

              //给两张表做贰个DataRelation

              DataColumn
parentCol;

              DataColumn
childCol;

              parentCol =
OriginalDataSet.Tables[“myTable”].Columns[“id”];

              childCol =
OriginalDataSet.Tables[“tbDetails”].Columns[“id”];

              //创建DataRelation.

              DataRelation
relCustOrder;

              relCustOrder = new DataRelation(“CustomersOrders”,
parentCol, childCol);

              //把DataRelation加入DataSet

             
OriginalDataSet.Relations.Add(relCustOrder);  

}//
DemonstrateReadWriteXMLDocumentWithStreamReader

8.  
pageLayout属性的五个选项

答:

pageLayout 属性设置当前 HTML
文书档案的因素定位首推项。可用于该属性的值有:

  • GridLayout   纯属定位属性插入到丰富的成分中并在移动的因素中改善。能够在方方面面“设计”视图表面上拖动成分。可以接收一定网格和“网格线对齐”。
  • FlowLayout   要素不带相对定位属性增多。Web
    浏览器按要素在页上现身的顺序从上到下排列元素。不能在“设计”视图表面上拖动成分也许选用固定网格。

 

9.  
哪些是安插asp.net程序供给的文件P438

答:1>\bin目录下甚至中间的DLL文件

   
2>全数的Web窗体,客户控件和XML Web
瑟维Sven件(.aspx,.ascx.asmx卡塔尔国

   
3>配置文件,满含Web.config和Global.asax

   
4>本目录中的全体附加扶植文件(举个例子XML文件State of Qatar

 

10.
Page类的IsPostBack属性与IsValid属性

答:Page类的IsPostBack属性

获得三个值,该值提示该页是还是不是正为响应顾客端回发而加载,或然它是或不是正被第一次加载和拜谒。属性值:假诺是为响应客商端回发而加载该页,则为 true;否则为 false

Page的IsValid属性属性值:获取三个值,该值提示页验证是不是成功。假诺页验证成功,则为
true;否则为 false

备注: 若要使该属性重回 true,Page.Validators
属性中的全体验证服务器控件必得都认证成功。独有在已调用 Page.Validate 方法,或已在初阶窗体管理的 ASP.NET 服务器控件的 OnServerClick
管理程序上将 CausesValidation 属性设置为 true
后才方可选中该属性。

 

 

11.
总括在间谍数要在Globle.cs里增多什么样代码
(于070118修正,在写Application时参加了是还是不是为空的剖断

 

Globle.cs

……..

     protected void Session_Start(Object sender, EventArgs
e)

         
{

             

                  

                   if(null==Application[“count”])

                      
Application[“count”] = 1;

                   else

                   {

                           
Application.Lock();

                           
Application[“count”]=((int)Application[“count”])+1;

                           
Application.UnLock();

                   }

             

         }

……

         protected void Session_End(Object sender, EventArgs
e)

         {

             

             

                  

                   if(null==Application[“count”])

                      
Application[“count”] = 0;

                   else

                   {

                           
Application.Lock();

                           
Application[“count”]=((int)Application[“count”])-1;

                           
Application.UnLock();

                   }

             

         }

12.
比较DataSet与DataReader

答:

DataSet与DataReader
当设计应用程序时,要思谋应用程序所需功用的级差,以分明使用DataSet也许是DataReader。
要由此应用程序实行以下操作,将要动用DataSet:
r 在结果的四个离散表之间开展导航。
r 操作来自多个数据源(举个例子,来自多少个数据库、一个XML文件和一个电子手表格的交集数据)的数额。
r 在各层之间沟通数据或利用XML
Web服务。与DataReader不相同的是,DataSet能传递给长途客商端。
r 重用相像的记录会集,以便通过缓存获得属性改革(举例排序、搜索或筛选数据)。
r 每条记下都急需实施大气甩卖。对运用DataReader重临的每一行实行扩张管理会延长期服用务于DataReader的总是的必不可缺时刻,那影响了品质。
r 使用XML操作对数码开展操作,比如可扩张样式表语言转变(XSLT调换)或XPath查询。

对此下列情状,要在应用程序中使用Data里德r:
r 无需缓存数据。
r 要管理的结果集太大,内部存款和储蓄器中放不下。
r 一旦需求以仅向前、只读格局迅速访谈数据。
注填充DataSet时,DataAdapter使用DataReader。由此,使用Data艾达pter替代DataSet提高的属性表现为节省了DataSet占用内部存款和储蓄器和填充DataSet须求的轮回。平常的话,此品质升高只是礼节性的,因此,设计决策应以所需功效为底子。


 

13.
在Web.config配置跟踪的几脾本性

详见

在Web.config文件中

<configuration>

  <system.web>

    <trace

      enabled="true"

      traceMode="SortByCategory"

      requestLimit="40"

      pageOutput="false"

      localOnly="true"

    />

  </system.web>

</configuration>

 

说明

enabled

设置为 true | false,指示是否为应用程序启用跟踪(默认为 false)

pageOutput

设置为 true | false, 指示跟踪信息是呈现在每页的最后,还是仅能通过 trace.axd 实用工具访问(默认为 false)

requestLimit

存储在服务器上的跟踪请求的数目(默认为 10)

traceMode

设置为 SortByTime | SortByCategory,指示跟踪消息的显示顺序(默认为 SortByTime)

localOnly

设置为 true | false,指示是为本地主机用户还是为所有用户启用跟踪(默认为 true)


 

 前记:把ASP.NET上课的说的13难点整理了一晃,只是自身复习的总节,不是最终的试验的标题,请当心,大家看下是不是科学吧,源码+本文Word版(二24日翻新第11题卡塔尔群中的那份杨丽美收拾的asp.net期末复习总括DOC


 


 

参照他事他说加以考察文献

*1.   MSDN***

*2.   <面向.NET的WEB应用程序设计>***

 

措施一:导出到csv文件,寄存在服务器端任一路线,然后给客商下载

1 SqlConnection conn = new SqlConnection();

优点:
1、能够张开身份认证后给客商下载,若是放置非web目录就从未对应的url,客商不或许任何时候下载。
2、也是因为变化了文本,所以占用了服务器的半空中,不过能够把公文名寄存到数据库,再一次给顾客下载的时候无需再一次生成文书。
3、csv文件是文件文件,逗号隔开分离字段,回车隔绝发银行,易于数据导入导出。

2 conn.ConnectionString = Server=127.0.0.1;User

福如东海情势:
   SqlConnection conn=new
SqlConnection(System.Configuration.ConfigurationSettings.AppSettings[“conn”]);
   SqlDataAdapter da=new SqlDataAdapter(“select * from tb1”,conn);
   DataSet ds=new DataSet();
   da.Fill(ds,”table1″);
   DataTable dt=ds.Tables[“table1”];
   string
name=System.Configuration.ConfigurationSettings.AppSettings[“downloadurl”].ToString(卡塔尔(قطر‎+DateTime.Today.ToString(“yyyyMMdd”卡塔尔(قطر‎+new
Random(DateTime.Now.Millisecond卡塔尔.Next(10000卡塔尔(قطر‎.ToString(卡塔尔(قطر‎+”.csv”;//寄放到web.config中downloadurl钦点的不二等秘书籍,文件格式为当下日子+4位随机数
   FileStream fs=new
FileStream(name,FileMode.Create,FileAccess.Write);
   StreamWriter sw=new
StreamWriter(fs,System.Text.Encoding.GetEncoding(“gb2312”));
   sw.WriteLine(“自动编号,姓名,年龄”卡塔尔;
   foreach(DataRow dr in dt.Rows)
   {
    sw.WriteLine(dr[“ID”]+”,”+dr[“vName”]+”,”+dr[“iAge”]);
   }
   sw.Close();
   Response.AddHeader(“Content-Disposition”, “attachment; filename=” +
Server.UrlEncode(name));
   Response.ContentType = “application/ms-excel”;//
钦点重返的是四个不可能被客商端读取的流,必需被下载
   Response.WriteFile(name卡塔尔(قطر‎; // 把公文流发送到顾客端
   Response.End();

发表评论

电子邮件地址不会被公开。 必填项已用*标注