小编Pio*_*cki的帖子

ASP.NET MVC 4 JSON绑定到视图模型 - 嵌套对象错误

我遇到了json绑定到视图模型的问题.这是我的代码:

我的ViewModel的一部分(AddressViewModel有更多属性):

public class AddressViewModel
{
        [Display(Name = "Address_Town", ResourceType = typeof(Resources.PartyDetails))]
        public string Town { get; set; }

        [Display(Name = "Address_Country", ResourceType = typeof(Resources.PartyDetails))]
        public Country Country { get; set; }
}

public class Country : EntityBase<string>
{
        public string Name { get; set; }

        protected override void Validate()
        {
            if (string.IsNullOrEmpty(Name))
            {
                base.AddBrokenRule(new BusinessRule("CountryName", "Required"));
            }
        }
}
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

$(document).on("click", "#addAddress", function () {
            var jsonData = {
                "Town": $('#txt-Town').val(),
                "District": $('#txt-District').val(),
                "Street": $('#txt-Street').val(),
                "PostCode": $('#txt-PostCode').val(),
                "FlatNumber": $('#txt-FlatNumber').val(), …
Run Code Online (Sandbox Code Playgroud)

json model-binding asp.net-mvc-4

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

Expression.Lambda和运行时的查询生成,嵌套属性"Where"示例

我找到了关于为Where查询构建表达式树的问题的非常好的答案.

Expression.Lambda和运行时的查询生成,最简单的"Where"示例

有人可以帮助我,并告诉我如何在具有嵌套属性的场景中实现此示例.我的意思是代替:

var result = query.Where(item => item.Name == "Soap")
Run Code Online (Sandbox Code Playgroud)

有了这个解决方案

var item = Expression.Parameter(typeof(Item), "item");

var prop = Expression.Property(item, "Name");

var soap = Expression.Constant("Soap");

var equal = Expression.Equal(prop, soap);

var lambda = Expression.Lambda<Func<Item, bool>>(equal, item);

var result = queryableData.Where(lambda);
Run Code Online (Sandbox Code Playgroud)

如何为以下构建树?

var result = query.Where(item => item.Data.Name == "Soap").
Run Code Online (Sandbox Code Playgroud)

c# lambda dynamic-language-runtime expression-trees

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

ASP.NET MVC @helper语法与Html Helper扩展方法

我需要创建自定义的html辅助方法.据我所知,有两种方法:

  1. 使用@helper razor语法.http://weblogs.asp.net/scottgu/archive/2011/05/12/asp-net-mvc-3-and-the-helper-syntax-within-razor.aspx

  2. 创建HtmlHelper扩展方法.

什么解决方案更好,为什么?有什么优点和缺点?

我只在MVC 3中读到,当@helper在单独的.cshtml文件中全局创建时,不可能使用其他内置的html助手.不知道可能在MVC 4中它是可以存储的.

请帮忙.

c# asp.net-mvc extension-methods razor-declarative-helpers

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

Linq To Sql令人惊讶的快速撤退数据.它是否比ADO快10倍是正常的吗?

我正在学习Linq to Sql,我对选择数据的性能非常惊讶.我正在从几张桌子上撤回加入的数据.我选择了大约40k的行.使用大约35秒的ADO时间将此数据映射到对象,使用大约130秒的NHbiernate时间以及使用Linq To Sql只有3,5s的可疑内容.此外,我想写我正在使用立即加载看起来像:

THESIS th = new THESIS(connectionString);
DataLoadOptions dlo = new DataLoadOptions();
dlo.LoadWith<NumericFormula>(x => x.RPN);
dlo.LoadWith<RPN>(x => x.RPNDetails);
dlo.LoadWith<RPNDetail>(x => x.Parameter);
th.LoadOptions = dlo;
th.Log = Console.Out;
Run Code Online (Sandbox Code Playgroud)

在我迭代时查看日志我看不到Linq To Sql对数据库生成一些额外的查询.

我对性能的巨大差异感到非常惊讶,我想也许我不明白.

有人可以解释一下为什么它的工作如此之快?测量时间我正在使用秒表课程.

ADO.NET代码:

public static List<NumericFormulaDO> SelectAllNumericFormulas()
{
    var nFormulas = new List<NumericFormulaDO>();

    string queryString = @"
        SELECT *
        FROM    NumericFormula nf 
                Left Join Unit u on u.Unit_Id = nf.Unit_Id 
                Left Join UnitType ut on ut.UnitType_Id = u.UnitType_Id 
                Join RPN r on r.RPN_Id = nf.RPN_Id 
                Join RPNDetails …
Run Code Online (Sandbox Code Playgroud)

c# linq database nhibernate linq-to-sql

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

Powershell New-PSSession 访问被拒绝 - 管理员帐户

我尝试使用 powershell PSSession cmdlet,但我遇到了拒绝访问错误的问题。

我尝试做的是使用我运行命令的管理员帐户New-PSSession(或Enter-PSSession),但不幸的是我收到拒绝访问错误。

我相信我正确地遵循了所有说明,因为在另一台服务器上我可以毫无问题地运行这些命令。

此外,我想通知test-wsman回复我。我正在使用内置管理员帐户并已检查Set-PSSessionConfiguration -Name Microsoft.PowerShell -ShowSecurityDescriptorUI 所有权限似乎没问题。我没有更多想法,正在寻求帮助。

更新

我发现了一种有趣的行为:

让我们假设:

  • 机器的IP地址是22.222.222.222
  • 我使用管理员凭据通过远程桌面登录

我使用以下命令:

new-pssession // access denied

new-pssession localhost // access denied

new-pssession 127.0.0.1 // access denied

new-pssession 22.222.222.222 // Session created ! It's working !

new-pssession 22.222.222.222 -Credential Get-Credential // access denied (using the same administrator credentials which I'm using for RDP)
Run Code Online (Sandbox Code Playgroud)

当我运行完全相同的命令时,我可以在另一台服务器上添加它,所有命令都成功了。

有任何想法吗?

powershell winrm windows-server-2012-r2

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

CMS - 如何处理多种环境?我真的需要它们吗?

我从来没有使用过任何 CMS,我只是想和这样的人一起玩。由于最初我来自 .NET 根源,所以我正在考虑选择 Orchard Core CMS。

让我们想象一个非常简单的场景,我想和我的同事一起创建一个博客。由于我习惯于使用基于 Web 的系统和业务应用程序,因此使用代码存储库、拥有多个环境开发/测试/阶段/生产、实施 CI/CD、通过迁移或脚本调整数据库是很正常的。

现在的问题是,我是否需要使用 CMS 来处理我们的博客?

更具体地说,我可以问几个问题:

  1. 我应该在本地使用 CMS(我的 PC)创建博客 -> 创建几篇文章然后将其部署到网络上,或者我应该通过互联网创建一个博客并直接在 prod 环境中添加文章。

  2. 如何在环境(开发/生产)之间同步数据库。

我可以补充一点,因为我不希望网站上有很多访问者,所以我想将 Orchard Core CMS 与 SQLite 一起使用。此外,我希望我可以自定义代码、添加新模块、扩展现有模块等 - 不仅仅是添加内容(文章)。你可以在回答问题时考虑到这一点

所以基本上我的问题是一个想要创建/管理和维护 CMS(让它成为博客)的人作为一个人或一个团队的工作流程应该是什么。

我是否应该在本地工作并创建内容,然后发布它并以某种方式同步应用程序和数据库(数据库是我的主要问号 - 在上下文中如何正确使用 SQLite)。

或者只是所有更改 - 代码 + 内容应该直接在服务器上管理,我们称之为生产环境。

如果问题很愚蠢且难以理解,请原谅我,但我正在寻找任何建议,因为我确实没有找到任何关于此的好的示例/信息,或者我正在寻找完全错误的方向。

提前致谢。

sqlite content-management-system orchardcms

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