如何从一个LightSwitch应用程序中发送HTML电子邮件

[原文发表地址] How To Send HTML Email from a LightSwitch Application [原文发表时间] 27 Jan 2011 7:31 AM 不久前,Paul Patterson写了一个非常棒的、逐步实现的博客帖子,它基于一个论坛上的提问,是关于如何使用LightSwitch的System.Net.Mail来自动发送电子邮件。如果你错过了这个帖子,这里有链接: Microsoft LightSwitch – 从 Light Switch发送电子邮件 如果你想要对发生在服务器端的数据更新管道内的事情发电子邮件以作出回应,这是一个很好的解决方法。在他的例子中,他展示了如何用SMTP服务器来发送一个简单的、基于文本的电子邮件,以对一个正被植入数据库的新的设定作出反应。在这个帖子中,我想要向你展示你可以怎样从数据中来创建更为丰富的HTML邮件并通过SMTP来发送它们。同时我还会提出一个使用Outlook客户来创建电子邮件的客户端解决方案,它允许用户在邮件发送之前查看并修改它。 通过SMTP发送电子邮件 正如Paul解释道,要从LightSwitch middle-tier(服务器端)来发送一封电子邮件你所需要做的就是在Solution Explorer上切换至File View,并且向Server项目添加一个类。理想情况下你会想要把这个类放进UserCode 文件夹里以保持有序。 提示:如果你没有看到UserCode 这个文件夹那意味着你还没有编写任何服务器规则。要创建这个文件夹你需要返回并在designer中任意选择一个entity,在右上方下拉“Write Code”按钮,并选择一个像entity_Inserted的服务器方法。 发送一封电子邮件的基本代码很简单。你只需要指定SMTP服务器, 用户id, 密码和端口。提示:如果你只知道用户ID和密码,那么你可以尝试使用Outlook 2010来自动为你获取剩余信息。 注意:在我的SMTPMailHelper类中 我在快速地检查是否包含HTML的body参数,如果包含,我会设置合适的邮件属性: Imports System.Net Imports System.Net.Mail Public Class SMTPMailHelper Const SMTPServer As String = “smtp.mydomain.com” Const SMTPUserId…


VS LightSwitch界面控制界面(Screen)布局的技巧和窍门

[原文发表地址] Tips and Tricks on Controlling Screen Layouts in Visual Studio LightSwitch [原文发表时间] Thu, Jan 20 2011 3:52 PM   注:这些内容只适用于LightSwitch Beta 1   Visual Studio LightSwitch有一系列可以用来快速生成界面(Screen)的界面模板。它们给您提供了可更深入定制的起点。当向项目中添加新界面时您会看到一系列界面模板供您选择。您选择好要放在界面上的相关数据后,这些模板自动为您排版。不要低估它们,它们以聪明的方法编排控件,并且做得很好。例如,当您选择不止一个相关数据集显示在界面上时,模板会会用一个选项卡控件。当然您也不会被自动布局所限制。实际上,界面设计器是非常灵活的,允许您在各种不同的配置中创建一组控件。您只需将界面可视化为一系列能在行和列中布局的容器。然后将控件或一组控件放到这些区域,把界面精确对齐成您想要的样子。   让我们从一个简单的例子开始吧。针对一个简单的订单追踪系统,我已经设计了我的数据表,它和Northwind 数据库比较相像。我也添加了一个搜索数据界面来搜索我的Products。现在我将要为Products添加一个新的详细信息界面,并通过“添加新界面”对话框把它设置为默认界面:     在本例Product中,界面设计器根据我选择的单个表,为我选择了一个简单的布局。点击F5运行应用程序,在搜索界面上选择一个Product来打开Product 详细信息界面。注意这是非常简单的,因为我的表很简单。在界面右上角点击“自定义”按钮,这样我们就可以开始调整它了。       界面左边显示了控件和数据绑定的包含关系(称为内容树),右边显示了数据的即时预览。注意我们的布局虽然有两行,但仅有一行是被填充的(这一行包含垂直堆栈的控件)。底部那一行是空的。您的界面可能是这样:   每个容器将会展示您选择的一组数据。例如在上面的界面中,顶端那行设置为垂直堆栈控件,要显示的数据来自于Product。因此当布局界面时,您需要考虑的容器包含一组控件,而这些控件绑定到多组数据。要修改容器绑定的数据,选择紧邻容器的数据项。       为了在当前容器中创建更多容器(或控件),您可以选择“新组(New Group)”。例如要完全控制布局,选择顶部那一行的Product,点击删除键。这将会删除垂直堆栈以及界面上的所有控件。内容树仍然会有两行,但是现在两行都是空的。   如果您想要四个容器的布局(两行两列),那么为数据项选择“新组”,然后对这两行将垂直堆栈控件都更改为“两列”,如下所示:   通过选择新组,选择行或列,您可以这样一直继续下去。这是一个具有八个容器,四行,两列的布局:     这儿是一个含有七个容器区域的布局;一行穿过界面顶部,在它的下方是三行两列:     当选择了选择内容,并选择了数据项如Product,它将会填充容器中(竖直堆栈中的行或列)的所有控件,然而您仍然有充分的自由,选择每组的显示内容。您可以删除一些您不想显示的字段并/或更改它们的控件。您也可以通过修改属性窗口的设置来更改控件的大小和显示样式。如果您在界面设计器(而不是我们这里的自定义模式)您也可以从界面左边将数据项拖到内容树中。但是请注意,如果已经有一个配置到另一个不同的数据项的绑定,那么不是树状图的所有地方都允许您在上面投放数据。比如,如果Customer…