小编art*_*olk的帖子

使用Razor的Html.RenderPartial()语法

这是有效的,因为它返回字符串中部分视图呈现的结果:

@Html.Partial("Path/to/my/partial/view")
Run Code Online (Sandbox Code Playgroud)

但我更喜欢使用RenderPartial,似乎我需要写:

@{Html.RenderPartial("Path/to/my/partial/view");}
Run Code Online (Sandbox Code Playgroud)

代替:

@Html.RenderPartial("Path/to/my/partial/view");
Run Code Online (Sandbox Code Playgroud)

让它工作.错误信息:

 Compiler Error Message: CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments
Run Code Online (Sandbox Code Playgroud)

如果有更好的方法而不是@{...}只为一个方法调用打开代码块?

asp.net-mvc razor asp.net-mvc-3

92
推荐指数
3
解决办法
13万
查看次数

node.js本身或nginx前端用于提供静态文件?

是否有更快的基准或比较:将nginx放在节点前面并让它直接提供静态文件或仅使用节点并使用它来提供静态文件?

nginx解决方案对我来说似乎更容易管理,有什么想法吗?

nginx node.js

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

以强类型方式获取属性的[DisplayName]属性

美好的一天!

我有这样的方法来获取[DisplayName]属性的属性值(直接附加或使用[MetadataType]属性).我在极少数情况下使用它,我需要进入[DisplayName]控制器代码.

public static class MetaDataHelper
{
    public static string GetDisplayName(Type dataType, string fieldName)
    {       
        // First look into attributes on a type and it's parents
        DisplayNameAttribute attr;
        attr = (DisplayNameAttribute)dataType.GetProperty(fieldName).GetCustomAttributes(typeof(DisplayNameAttribute), true).SingleOrDefault();

        // Look for [MetadataType] attribute in type hierarchy
        // http://stackoverflow.com/questions/1910532/attribute-isdefined-doesnt-see-attributes-applied-with-metadatatype-class
        if (attr == null)
        {
            MetadataTypeAttribute metadataType = (MetadataTypeAttribute)dataType.GetCustomAttributes(typeof(MetadataTypeAttribute), true).FirstOrDefault();
            if (metadataType != null)
            {
                var property = metadataType.MetadataClassType.GetProperty(fieldName);
                if (property != null)
                {
                    attr = (DisplayNameAttribute)property.GetCustomAttributes(typeof(DisplayNameAttribute), true).SingleOrDefault();
                }
            }
        }
        return …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc data-annotations asp.net-mvc-2

41
推荐指数
3
解决办法
5万
查看次数

从命令行运行web.config转换

美好的一天!

我希望能够使用VS2010 Publish对话框命令行构建ASP.NET MVC 2项目.

对于命令行,我得到以下工作:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe .\SolutionFolder\MyProject.csproj /p:Configuration=Release;DeployOnBuild=True;PackageAsSingleFile=False;outdir=c:\_OutputFolder\
Run Code Online (Sandbox Code Playgroud)

我没有应用Web.config转换的唯一问题(但是添加到WebDeploy包).我不使用WebDeploy.有没有办法应用Web.config转换?

谢谢!

msbuild visual-studio-2010 asp.net-mvc-2

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

正确渲染最初隐藏的HTML元素的方法

我多年来在我的HTML中使用类似这样的元素应隐藏的元素:

<div style="display: none"></div>
Run Code Online (Sandbox Code Playgroud)

没关系,但我不能再忍受内联风格了.

  1. 在JavaScript window.onload事件中以编程方式隐藏元素为时已晚 - 它将在屏幕上闪烁.

  2. 我可以创建CSS类'隐藏',但是使用浏览器的激进加载策略(比如在Opera中),该块可能会出现一秒钟(在加载CSS之前).

有没有更好的方法?

html javascript css

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

接受逗号和点作为小数分隔符

ASP.NET MVC中的模型绑定很棒,但它遵循区域设置.在我的语言环境中,小数点分隔符是逗号(','),但用户也使用点('.'),因为它们懒得切换布局.我想在一个地方为decimal我的模型中的所有字段实现这个.

我应该为decimal类型实现自己的Value Provider(或事件Model Binder),还是我错过了一些简单的方法来做到这一点?

asp.net-mvc modelbinders value-provider

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

Express 3和EJS中的布局

在Express的第3版中,删除了一些功能:

the concept of a "layout" (template engine specific now)
partial() (template engine specific)
Run Code Online (Sandbox Code Playgroud)

更改日志:https://github.com/visionmedia/express/wiki/Migrating-from-2.x-to-3.x

partial()可以更改EJS叫自己的特点include,但什么是布局的选择吗?

ejs node.js express

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

如何在ORM中使用多语言数据库模式?

美好的一天!

我正在寻找实现多语言数据库模式的最佳方法,我使用的方法与此处相同:多语言数据库设计的最佳实践是什么?(一个表有语言中性数据,一个表用于所有翻译).它似乎很好,干净,并没有限制可能的语言数量.

但我想使用一个简单的ORM(如C#中的LINQ,PHP等出口),其中每个表都映射到实体类.这可以工作,但查询变得更加复杂.

可能有一些特殊技术可以使用这样的DB shema和ORM吗?或者我可以从支持更复杂映射的更复杂的ORM中受益?

提前致谢!

database orm multilingual

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

混凝土型投影内的"新"只被调用一次

我简单的Linq2Sql查询:

var result = from t in MyContext.MyItems
             select new MyViewModelClass()
             {
                 FirstProperty = t,
                 SecondProperty = new SomeLinq2SqlEntity()
             }      
Run Code Online (Sandbox Code Playgroud)

问题是它似乎new SomeLinq2SqlEntity()只对序列执行一次,因此MyViewModelClass查询结果的所有实例共享一个对象的链接.

更新:以下是我如何快速检查它:

result[0].SecondProperty.MyField = 10;
Run Code Online (Sandbox Code Playgroud)

使用调试器我可以检查在所有实例中都MyField设置了10.

当我用foreach替换LINQ查询时,它按预期工作:

  var result = from t in MyContext.MyItems select t;
  var list = new List<MyViewModelClass>();
  foreach (var item in result)
  {
      list.add(new MyViewModelClass()
             {
                 FirstProperty = item,
                 SecondProperty = new SomeLinq2SqlEntity()
             });       
  }
Run Code Online (Sandbox Code Playgroud)

我没有找到问题的根源,但标记为asnwer的帖子提供了良好的解决方法.请查看此asnwer以获取详细说明:具体类型投影中的"new"仅调用一次

c# linq linq-to-sql

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

我应该避免在CSS中使用!important吗?

有时!important是有用的,例如,如果我为站点上的所有链接定义了常用样式(例如,选择器a),但是当我想覆盖某些规则时,我有以下选择:

  • 使用更具体(更长)的选择器
  • 使用 !important

哪种方式更好,可能有一些指导方针?

css xhtml css-selectors

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