当前位置:  编程技术>.net/c#/asp.net
本页文章导读:
    ▪EF Code First 学习笔记:关系      一对多关系项目中最常用到的就是一对多关系了。Code First对一对多关系也有着很好的支持。很多情况下我们都不需要特意的去配置,Code First就能通过一些引用属性、导航属性等检测到模型之.........
    ▪asp.net 导出Execl 解决中文名乱码      1.导出为cvs首先要获取一连串的string类型的字符串,然后确定导出格式....先获取表格的头,这个header不管你是固定还是动态,每个字段后面加一个",",用来表示一列;到最后换行时加Environment.Ne.........
    ▪ASP.NET MVC3 原理与入门      1.MVC模式是一种软件架构模式。它把软件系统分为三个部分:模型(Model),视图(View)和控制器(Controller)。2.MVC模式的三个模块相互独立3.MVC网站的运行过程是这样的:  1. 当第一个请.........

[1]EF Code First 学习笔记:关系
    来源:    发布时间: 2013-10-28

一对多关系

项目中最常用到的就是一对多关系了。Code First对一对多关系也有着很好的支持。很多情况下我们都不需要特意的去配置,Code First就能通过一些引用属性、导航属性等检测到模型之间的关系,自动为我们生成外键。观察下面的类:

public class Destination
{
public int DestinationId { get; set; }
public string Name { get; set; }
public string Country { get; set; }
public string Description { get; set; }
public byte[] Photo { get; set; }
public List<Lodging> Lodgings { get; set; }
}

public class Lodging
{
public int LodgingId { get; set; }
public string Name { get; set; }
public string Owner { get; set; }
public bool IsResort { get; set; }
public decimal MilesFromNearestAirport { get; set; }
public Destination Destination { get; set; }
}

Code First观察到Lodging类中有一个对Destination的引用属性,同时Destination中又有一个集合导航属性Lodgings,因此推测出Destination与Lodging的关系是一对多关系,所以在生成的数据库中为自动为Lodging表生成外键:

其实,只要在一个类中存在引用属性,即:

public class Destination
{
public int DestinationId { get; set; }
public string Name { get; set; }
public string Country { get; set; }
public string Description { get; set; }
public byte[] Photo { get; set; }
}

public class Lodging
{
public int LodgingId { get; set; }
public string Name { get; set; }
public string Owner { get; set; }
public bool IsResort { get; set; }
public decimal MilesFromNearestAirport { get; set; }
public Destination Destination { get; set; }
}

或一另一个类中存在导航属性:

public class Destination
{
public int DestinationId { get; set; }
public string Name { get; set; }
public string Country { get; set; }
public string Description { get; set; }
public byte[] Photo { get; set; }
public List<Lodging> Lodgings { get; set; }
}

public class Lodging
{
public int LodgingId { get; set; }
public string Name { get; set; }

    
[2]asp.net 导出Execl 解决中文名乱码
    来源:    发布时间: 2013-10-28

1.导出为cvs

首先要获取一连串的string类型的字符串,然后确定导出格式....

先获取表格的头,这个header不管你是固定还是动态,每个字段后面加一个",",用来表示一列;到最后换行时加Environment.NewLine;例如:

    ArrayList list = new ArrayList();
list.Add("xxx");
list.Add("xx");
list.Add("xx");
list.Add("xx");
list.Add("xxx");
list.Add("xx");
list.Add("xx");
list.Add("xx");
list.Add("xxxx");

string[] saleHeaders = (string[])list.ToArray(typeof(string));
temp = saleWriteOffHtmlStr(saleDt, saleHeaders);

  byte[] buffer = System.Text.Encoding.UTF8.GetBytes(temp.ToString());
byte[] outBuffer = new byte[buffer.Length + 3];
outBuffer[0] = (byte)0xEF;
outBuffer[1] = (byte)0xBB;
outBuffer[2] = (byte)0xBF;
Array.Copy(buffer, 0, outBuffer, 3, buffer.Length);
Response.Write(Encoding.UTF8.GetString(outBuffer));
  Response.Buffer = true;
Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode("销售数据") + ".csv;");
Response.Charset = "utf-8";
Response.ContentType = "text/csv";            

public string saleWriteOffHtmlStr(DataTable dt, string[] headers)

{
string htmlstr = "";

    foreach (string s in headers)
{
htmlstr += s.ToString().Replace(',', ',') + ",";
}
htmlstr = htmlstr.Substring(0,htmlstr.Length-1) + Environment.NewLine;

    foreach (DataRow dr in dt.Rows)
{
htmlstr += dr["Base_tabletNumber"].ToString().Replace(',', ',') + ",";

      .......

      htmlstr += Environment.NewLine;

    }

    return htmlstr;

}

2.导出为xls

HttpResponse resp;
resp = Page.Response;
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode("销售表", System.Text.Encoding.UTF8) + ".xls;");
resp.Write(temp);
temp = "";
resp.End();

public string saleWriteOffHtmlStr(DataTable dt, string[] headers)
{

string htmlstr = "";
foreach (string s in headers)
{
htmlstr += s.ToString().Replace(',', ',') + "\t";
}
htmlstr = htmlstr.Substring(0
    
[3]ASP.NET MVC3 原理与入门
    来源:    发布时间: 2013-10-28

1.MVC模式是一种软件架构模式。它把软件系统分为三个部分:模型(Model),视图(View)和控制器(Controller)。

2.MVC模式的三个模块相互独立
3.MVC网站的运行过程是这样的:

  1. 当第一个请求从客户端发起的时候,首先执行的是Global.asax中的Application_Start()方法来完成一些初始化工作,其中重要的一步是RegisterRoutes方法,这个方法指定了如何将url映射到具体的方法上,稍后详解。

  2. 根据第一步中指定的映射表生成一个RouteDate个对象,利用这个对象来创建一个RequestContext对象。

  3. MvcRouteHandler创建一个MvcHandler,并将RequestContext对象传给MvcHandler。

  4. MvcHandler对象利用RequestContext对象确定一个IControllerFactory对象来创建Controller对象。

  5. MvcHandler对象调用Controller对象的Execute()方法。

  6. Controller的ControolerActionInvoker对象决定调用controller的哪个具体的action方法。

  7. Action方法接受用户参数,执行方法,返回一个Result类型的对象。

4.Razor引擎是MVC3新加入的引擎,ViewBag是一个dynamic类型的对象,可以用来在controller和页面之间传递数据。

5.MVC M中验证:

本文链接


    
最新技术文章:
 




特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3