小编Cra*_*aig的帖子

Nlog日志记录方法

我正处于我正在进行的小型网站开发项目的alpha阶段,并决定使用NLog作为我的日志记录解决方案.

我的解决方案到目前为止没有记录.我现在正在添加日志记录.

一个例子:

private static Logger logger = LogManager.GetCurrentClassLogger();

public int SaveProject(ProjectDto project)
{
    logger.Trace("SaveProject ({0}) : {1}", project.Id, _userId);
    return _pb.SaveProject(project);
}
Run Code Online (Sandbox Code Playgroud)

'GetCurrentClassLogger'方法很棒,因为它现在知道我在哪个类.

但有没有办法报告方法名称,而不是我如何做?在上面的示例中,您可以看到我需要在消息中添加"SaveProject".有没有办法自动获得这个?或者我是否需要将此添加到每个方法记录调用?

c# logging nlog

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

ASP.Net MVC编辑器不工作

我想,我正在尝试使用EditorFor和partialview来渲染表格.

我有一个模型,其List <>属性定义如下:

public List<TransactionSplitLine> TransactionSplitLines { get; set; }
Run Code Online (Sandbox Code Playgroud)

这个想法是用户选择一些下拉菜单并在编辑框中输入一个值,然后单击一个按钮.模型返回到控制器,控制器将输入的值添加到List <>

[HttpPost]
public ActionResult AccountTransaction(AccountTransactionView model)
{
    var reply = CreateModel(model);
    if (model.CategoryIds != null)
    {
        foreach (var c in model.CategoryIds)
        {
            reply.TransactionSplitLines.Add(new TransactionSplitLine { Amount = "100", Category = "Test Category", SubCategory = "Test More", CategoryId = int.Parse(c) });
        }
    }
    reply.TransactionSplitLines.Add(new TransactionSplitLine { Amount = "100", Category = "Test Category", SubCategory = "Test More", CategoryId = 1 });
    return View("AccountTransaction", reply);
}
Run Code Online (Sandbox Code Playgroud)

忽略CreateModel.它只是设置了一些数据.另外,我正在硬编码数据.这最终将来自某些形式值.

然后将模型返回到同一屏幕,允许用户收集更多数据.读取List <>中的任何项目并呈现表格.我还必须将当前监听项目值存储在隐藏字段中,以便可以将它们与输入的新数据一起提交回来,以便每次用户添加数据时列表都可以增长.

视图定义如下:

<table …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc

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

Razor 视图和 HTML 文本

我正在尝试掌握 Razor,但遇到了基本的障碍。我根据用户经过身份验证的状态生成一个小菜单。但是,我做错了。

<div>
    <a href="/">Home</a>&nbsp;&nbsp; 
    <a href="/">List</a>
    @if (Request.IsAuthenticated)
    {
        &nbsp;
        &nbsp;
        <a href="/">Upload</a>
        &nbsp;
        &nbsp;
        <a href="/logout" onclick="return confirm('Are you sure you want to delete this image?');">Logout</a>
    }
</div>
Run Code Online (Sandbox Code Playgroud)

它不喜欢我的 {} 部分中的 HTML。我认为它需要一个 HTML 标签...类似于 的东西<div>,但因为我正在使用&nbsp,所以它不高兴。我该怎么做呢?

此外,我正在尝试处理图像标签。但这是惨败的。

@using GalleryPresentation.Models
@model IndexModel
@{
    ViewBag.Title = "Craig and Melanie's Digital Moments";
}

<br/>
<div style="text-align: center">
    <img src="@Html.Raw(m => m.RandomImageUrl) />
</div>
Run Code Online (Sandbox Code Playgroud)

我的模型很简单:

{
    public class IndexModel
    {
        public string RandomImageUrl { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc razor

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

Linq,迫使项目成为第一名?

我有一个MyPersonObjects的List <>.该列表是我可以分配内容的人员列表.在这个列表中,我包括我自己(因为任务可以分配给我 - 通常是).

所以,我想确保自己处于榜单的首位.我知道我的personId,这是我的person对象的属性 - 所以有没有办法订购列表以确保我是第一个,然后其余的,按姓氏字母顺序(这是我的对象的另一个属性)

linq

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

我需要从List <>中删除重复项

我有一个List<CreditCard>,信用卡的属性是CreditCardNumber,这是一个字符串.不幸的是,它可以是1234 1234 1234 1234,或者1234123412341234,它们都是相同的数字.

我需要经历并删除这些重复的项目.有人可以协助吗?

c# list

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

在ComboBox中显示对象属性

我有一个自定义对象,其中包含有关项目资源的详细信息.属性为PersonName,Position和Id如果未填充资源,PersonName将设置为"Unassgined".

要将对象添加到Combobox,我会:

    var avail = s.GetUnassignedPrintRoles(SprintId);
    foreach (var o in avail)
    {
        cmbRoles.Items.Add(o);
    }
Run Code Online (Sandbox Code Playgroud)

显示资源列表时这很好.我的对象有一个重写的ToString()方法:

public override string ToString()
        {
            if(AssignedPerson != null)
                return ResourceType + " - " + AssignedPerson.Firstname + " " + AssignedPerson.Surname;
            return "Unassigned";
        }
Run Code Online (Sandbox Code Playgroud)

但是,我有一个屏幕,显示未分配的角色列表.所以,我得到一个列表,其中Person为NULL.

但是,我想在ComboxBox中显示"角色".

但是,我的对象的ToString显示'未分配'.如何让它显示Role属性?有没有办法在Comboxbox项目中保存对象,但在显示中显示不同的属性,而不是我在ToString覆盖中设置的内容?

c# winforms

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

ASP.Net中静态类的生命

在我的UI层中,我将一些时区信息存储在会话状态中.

我现在需要访问我的服务/业务/数据层中的时区.

从我的UI层,我传递登录用户的UserID,我的数据库具有为该用户存储的时区信息.我宁愿不用用户ID传递时区.

时区仅用于时间很重要的几个呼叫.(项目已经启动,今天是休假的人......等等).

我想可能有一个静态类,它在所有层(服务/业务/数据)上引用,它有一个时区信息字段.我希望它是静态的,以便我可以参考它:

var CurrentDate = CommonClass.GetLocatDateTime(_userId);
Run Code Online (Sandbox Code Playgroud)

这可能会回归DateTime.

然后,如果CurrentDate == null,使用UserId,从该数据库获取该用户的TimeZoneId - 因此,数据库调用只会发生一次,并且只有在之前没有发生时才会发生.

但是,静态类何时"出生"和"被杀"?

它是每个用户的会话?或者是在Asp.Net应用程序运行时?当我说用户会话时,我的意思是,每次用户点击某些内容时,都会创建一个新会话,因此,我的静态类会被创建吗?或者静态类对所有其他会话"可见"吗?我希望它仅限于当前用户.

c# asp.net session

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

适用于所有分辨率的响应式横幅图像

我正在尝试制作一个横幅图像,跨越屏幕的 100% 宽度我想要实现的示例可以在此处找到:

http://www.aha.io/roadmapping/where-aha-fits

全屏查看。横幅的宽度为 100%,可能为屏幕高度的 15%。

当您缩小窗口尺寸时,横幅仍然使用 100% 的屏幕宽度,但我认为似乎裁剪了左侧尺寸,并降低了高度,将屏幕高度保持在 15% 左右。

我在这里创建了一个我想要做的演示:

http://www.bootply.com/Hrxwy8BjTT

我最终得到的是,在“移动”版本中,一个非常非常薄的横幅。

我怎样才能让它稍微裁剪一下,并保持屏幕高度的 10% 左右(在我的例子中)(并且不创建滚动条)?

html css twitter-bootstrap

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

在Core 2.1中将byte []转换为位图

我在.Net 4.6.2中有一个运行良好的项目,该项目大量使用了将byte []转换为Bitmap的方法。

public static Bitmap ByteArrayToImage(byte[] source)
    {
        TypeConverter tc = TypeDescriptor.GetConverter(typeof(Bitmap));
        return (Bitmap)tc.ConvertFrom(source);
    }
Run Code Online (Sandbox Code Playgroud)

但是,自那时以来,我已经将项目升级到.Net Core 2.1,并且这不再起作用。我读过,有些人有问题,但是努力寻找解决方法。

TypeConverter无法从System.Byte []转换

2.1中是否有办法实现这种转换?看起来https://github.com/SixLabors/ImageSharp可能有用,但是当我在Nuget中搜索它时,没有任何结果。

c# .net-core

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

Linq Select 和 ToList 之间的性能差异

以下 linq 表达式会导致相同的性能吗?

在我想象的场景中,我的表 MyData。有 25 列和 50,000 行。我正在尝试根据 WHERE 获取所有 MyData 记录。

var myData = _myDb.Entities<MyData>()
        .ToList()
        .Select(p => new { p.Name, p.Id })
        .Where(y => y.DepartmentId = 1)
        .OrderBy(x => x.Name);
Run Code Online (Sandbox Code Playgroud)

对比

var myData = _myDb.Entities<MyData>()
        .Where(y => y.DepartmentId = 1)
        .Select(p => new { p.Name, p.Id })
        .OrderBy(x => x.Name)
        .ToList();
Run Code Online (Sandbox Code Playgroud)

SELECT * FROM MyData由于语句中 ToList() 的顺序,我认为第一个查询基本上会执行 a 。昂贵。所有数据带回客户端,然后应用排序和过滤。

SELECT Name, Id FROM MyData WHERE DepartmentId = 1 ORDER BY Name在这种情况下,第二个选项会更好,执行一个- 如此小的数据集,按 SQL 排序。

或者 …

c# linq

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

标签 统计

c# ×6

asp.net ×2

asp.net-mvc ×2

linq ×2

.net-core ×1

css ×1

html ×1

list ×1

logging ×1

nlog ×1

razor ×1

session ×1

twitter-bootstrap ×1

winforms ×1