小编Yas*_*ser的帖子

使用SmtpClient发送邮件时图像中断

我正在使用C#使用C#发送邮件SmtpClient.我在发送邮件之前做了以下事情.

var mailMessage = new MailMessage();

model.ToAddresses.ForEach(to => mailMessage.To.Add(to));
mailMessage.Subject = "Test Email - By Yasser";

mailMessage.Body = String.Format("{0}{1}{2}",
                                    "<html><body>",
                                     GetEmailContent(model),
                                     "</body></html>");
mailMessage.IsBodyHtml = true;
return MailService.SendEmail(mailMessage);
Run Code Online (Sandbox Code Playgroud)

以下是我的MailService类:

public class MailService
{
    public static bool SendEmail(MailMessage mailMessage)
    {
        var smtpClient = new SmtpClient();
        try
        {
            smtpClient.Send(mailMessage);
            return true;
        }
        catch(Exception exp)
        {
            return false;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在当我发送邮件时,邮件会被发送,当我按下查看源时,这就是我在Outlook中看到的邮件内容.以下是带有查看源的电子邮件的内容(显然我只保留了部分图像数据)

<html>

<body>
    <h1>Test</h1>
    <h2>Hello World</h2>
    <h3>Missing close h3 tag</h3>

    <p>
        <a href="www.google.com">
            <img src="data:image/gif;base64,/9j/4AAQSkZJRgABAgEAYABgAAD/4Q8HRXhpZgAAT" />
        </a>
    </p>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

因此,这在邮件中显得破碎(图像),但是当我复制此源并将其粘贴到编辑器中并使用浏览器打开文件时,一切看起来都很好(甚至是图像). …

html c# email smtpclient

8
推荐指数
1
解决办法
6807
查看次数

ASP.NET MVC 4中Web Api中的路由

我在ASP.NET MVC 4中使用web api.

我有以下命名的控制器

  • CustomerController:控制器
  • CustomerApiController:ApiController

之前我CustomerApiController被命名CustomersController为访问它,我只需要打入以下网址

本地主机/ API /客户

但现在我必须将api控制器名称保持为CustomerApiController.我希望能够使用localhost/api/Customers我必须做出的更改来使用相同的方法吗?

我试过在RouteConfig.cs文件中做一些更改.我尝试将以下内容添加到RegisterRoutes方法中,但它们都没有工作.

routes.MapHttpRoute(
            name: "API Default",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

routes.MapRoute(
            name: "Customers",
            url: "api/customer/",
            defaults: new { controller = "CustomerApi", action = "Get", id = UrlParameter.Optional }
        );
Run Code Online (Sandbox Code Playgroud)

请有人指导我这个.谢谢

asp.net-mvc asp.net-mvc-routing asp.net-mvc-4 asp.net-web-api

7
推荐指数
1
解决办法
5193
查看次数

为什么在使用Entity Framework时我们必须在存储过程中写SET FMTONLY OFF

我最近加入了我团队的一个项目.他们使用ASP.NET MVC和MS SQL以及Entity Framework作为ORM.

我注意到EF中使用的每个存储过程在存储过程定义开始时都有这个公共行

IF(0=1) SET FMTONLY OFF
Run Code Online (Sandbox Code Playgroud)

我认为这是一个非常奇怪的情况,所以我搜索了一下它并且还向我的同事询问了它.他们说,当EF映射存储过程时,它将所有参数发送为null并跳过所有if循环.因此,它也会跳过这个IF(0=1)条件 SET FMTONLY OFF

关于搜索SET FMTONLY OFFMSDN,说

仅返回客户端的元数据.可用于测试响应的格式,而无需实际运行查询.

当你不控制数据库时,它会成为一个问题,你必须不断告诉DBA添加它并一遍又一遍地向它们解释为什么首先需要它.

我仍然不清楚为什么这是必需的.如果有人能够详细解释这一点,或者引导我到一些链接,这个主题涵盖了对我来说意味着世界.

sql-server entity-framework

7
推荐指数
3
解决办法
2万
查看次数

MVC 3 Webgrid使整行可以点击

我在MVC 3的剃刀视图中使用webgrid.下面是我的webGrid看起来的样子,我想让整个行可以点击,也可以点击传递值到javascript方法.

我能够在所有列的文本上调用我的javascript方法.我希望在整个行的任何地方点击都会发生同样的情况.

请指导我这个.谢谢

           @grid.GetHtml(

            columns: grid.Columns(

            grid.Column("CompanyName", format: @<text><a href="javascript:SubmitValues('@item.Col1','@item.Col2','@item.Col3');">@item.CompanyName</a></text>, header: "ABC"),

            grid.Column("CompanyAddress", format: @<text><a href="javascript:SubmitValues('@item.Col1','@item.Col2','@item.Col3');">@item.CompanyName</a></text>, header: "DEF"),

            ))      

         }
Run Code Online (Sandbox Code Playgroud)

webgrid razor asp.net-mvc-3

6
推荐指数
1
解决办法
1万
查看次数

CSS修复了使用Razor和MVC3的webgrid寻呼机方法

我正在使用带Razor的MVC3,用于显示我正在使用WebGrid的网格,并且对于这个非常网格的分页,我使用以下代码.

我的问题:分页按钮在选择/单击时以及未选中/单击时都应保持相同的大小.

我有一些CSS问题,我已经使用CSS和javascript来实现我的客户想要的设计我已经在这个小提琴链接复制了它http://fiddle.jshell.net/Z5L4g/

剃刀代码

@grid.Pager(mode: WebGridPagerModes.All, numericLinksCount: 15, firstText: "<<", lastText: ">>", previousText: "<", nextText: ">")
Run Code Online (Sandbox Code Playgroud)

我的CSS代码 正文{font-family:Calibri; 背景色:#D8D8D8; margin-top:0px; 文字修饰:无; }

    #footer:not([href]) {
    letter-spacing: 0px;
    }

    #footer {
    text-align: center;
    margin-top: 10px;
    }

    .pagingCss {
    font-size: 13px;
    }

    .whiteBox {
    background-color: 
    white;
    color: 
    black;
    padding-right: 7px;
    padding-left: 7px;
    padding-top: 4px;
    padding-bottom: 4px;
    text-decoration: none;
    margin-top: 10px;
    letter-spacing: 0px;
    }

    .blackBox {
    background-color: 
    black;
    color: 
    white;
    padding-right: 7px;
    padding-left: 7px;
    padding-top: 4px;
    padding-bottom: 4px; …
Run Code Online (Sandbox Code Playgroud)

javascript css asp.net-mvc webgrid

6
推荐指数
1
解决办法
2820
查看次数

使用List,Lookup或Dictionary来获取大量数据

我的类库中有一个名为Lookup的静态类,我使用这个类来查找不同的值(在本例中为Locations).

这些值可以达到数百个.由于95%的客户在没有Internet访问权限的计算机上安装我的应用程序,因此我必须假设我的应用程序无法访问Internet或访问数据库.

所以我想知道这是否是一种有效的处理方法,如果我在方法完成后正确处理对象:

代码:

using System;
using System.Collections.Generic;

namespace FunctionLibrary
{
    public static class Lookups
    {
        private static List<Vers> Versions;

        public static string GetVersion(string s)
        {
            string retValue = string.Empty;
            Versions = new List<Vers>();

            try
            {
                if (s.Trim().Length > 0)
                {

                    GetVersions();
                    retValue = Versions.Find(ver => ver.VersionNumber == s).VersionLiteral;

                    if (string.IsNullOrEmpty(retValue))
                    {
                        retValue = string.Format("{0} is an Unknown Version Number", s);
                    }
                }
                else
                {
                    retValue = "No version number supplied";
                }
            }
            catch
            {
                retValue = string.Format("{0} is an …
Run Code Online (Sandbox Code Playgroud)

c# lookup dictionary list

6
推荐指数
1
解决办法
2万
查看次数

删除Razor MVC 3中的HTML格式

我正在使用MVC 3和Razor View引擎.

我想做什么

我正在使用MVC 3制作博客,我想删除所有HTML格式标签<p> <b> <i>等.

我正在使用以下代码.(确实有效)

 @{
 post.PostContent = post.PostContent.Replace("<p>", " ");   
 post.PostContent = post.PostContent.Replace("</p>", " ");
 post.PostContent = post.PostContent.Replace("<b>", " ");
 post.PostContent = post.PostContent.Replace("</b>", " ");
 post.PostContent = post.PostContent.Replace("<i>", " ");
 post.PostContent = post.PostContent.Replace("</i>", " ");
 }
Run Code Online (Sandbox Code Playgroud)

我觉得必须有一个更好的方法来做到这一点.任何人都可以指导我这个.

razor asp.net-mvc-3

6
推荐指数
1
解决办法
2万
查看次数

无法推送到BitBucket - 远程主机强行关闭现有连接

我正在尝试将我的更改推送到我的Bitbucket私有存储库.

推送过程最初开始,如下面的屏幕截图所示......

在此输入图像描述

但过了一段时间后,我收到以下消息:

在此输入图像描述

错误消息显示:

URLError:[Errno 10054]远程主机强行关闭现有连接

我现在尝试了很长时间......我能够发送19000 +/24076KB,这是我记得的.

我是Tortoise HG的新手,这些错误总是阻止我从SVN迁移到GIT/HG:`(

tortoisehg bitbucket

6
推荐指数
0
解决办法
1009
查看次数

在ASP.NET MVC中使用TextBoxFor的角度属性

我正在使用ASP.NET MVC和AngularJs.我是AngularJs的新手,我正在尝试创建一个使用angularjs的表单.

所以首先我有一个登录表单,要求输入用户名和密码.

用户名Html.TextBoxFor如下所示

@Html.TextBoxFor(m => m.UserName, new { ng-model="user.name" })
Run Code Online (Sandbox Code Playgroud)

但是,ide表示ng-model红色的错误.并在运行此更改时出错.

错误信息

帐户/登录 - c:\ SVN HOME\ABC-SelfServe\src\ABC\Web\Views\Account\Login.cshtml(23):错误CS0746:无效的匿名类型成员声明符.必须使用成员分配,简单名称或成员访问声明匿名类型成员.

直到现在,每当我必须包含我曾经做过的html属性时,它就会起作用.我用什么语法包含ng-....剃刀的角度属性TextBoxFor

razor asp.net-mvc-4 angularjs

6
推荐指数
1
解决办法
5387
查看次数

无法使用Visual Studio 2013将节点js站点发布到azure

我使用本教程将我的节点js站点发布到azure - http://blogs.technet.com/b/sams_blog/archive/2014/11/14/azure-websites-deploy-node-js-website-using-visual -studio.aspx

我收到以下错误,正如博客上的一条评论中提到的,任何想法这个错误是什么,我该如何解决这个问题?我可以在本地运行我的应用程序没有问题.

错误:InvalidParameter参数名称:index

在此输入图像描述

Ps:该网站就像一个非常基本的"Hello world"网站,这是我第一次使用和部署到azure.

azure node.js

6
推荐指数
1
解决办法
596
查看次数