小编fre*_*tje的帖子

Node.js模板的Jade和EJS的优缺点是什么?

Jade与EJS,每种产品的优缺点是什么?每种产品的用途是什么?

是否有其他明确兼容的模板引擎是好的,为什么?

ejs node.js pug

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

如何检查是否定义了对象?

我想检查是否使用C#定义或存在对象.

像这样的东西:

if (defined(Object)){

}
Run Code Online (Sandbox Code Playgroud)

c#

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

如何防止生成验证属性?

DateTime我的模型中有一个属性,但我只对时间部分感兴趣:

public class MyModel
{
    [Required, DataType.Time]
    public DateTime Time
}
Run Code Online (Sandbox Code Playgroud)

在我看来,我这样输出:

@Html.EditorFor(model => model.Time)
Run Code Online (Sandbox Code Playgroud)

这用于在MVC 3中生成以下html:

<input class="text-box single-line" data-val="true" 
    data-val-required="The Time field is required." 
    id="Time" name="Time" type="time" value="" />
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试使用MVC 4,这是生成的html:

<input class="text-box single-line" data-val="true" 
    data-val-date="The field Time must be a date." 
    data-val-required="The Time field is required." 
    id="Time" name="Time" type="time" value="" />
Run Code Online (Sandbox Code Playgroud)

data-val-date添加了额外的属性,导致客户端验证错误,因为时间(例如"10:30")未形成为日期.

我想这是MVC 4中的一个错误(我报告过)?但是在它解决之前,有没有办法阻止生成这个属性?或者甚至更好,有没有办法让它作为一个data-val-time替代生成,所以我可以为时间字段提供我自己的客户端验证方法?

.net c# asp.net-mvc jquery-validate asp.net-mvc-4

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

在CruiseControl.NET中使用MSTest

我们在NUnit和NAnt上使用CruiseControl已有一段时间了.对于最近的项目,我们决定使用Visual Studio附带的测试框架,到目前为止已经足够了.

我正在尝试在CruiseControl中运行解决方案.我终于让构建本身工作了; 但是,尽管添加了自定义构建任务和旨在实现此目的的组件,但我无法在CruiseControl界面中显示任何测试.有没有人有明确的链接,有关于设置这些设置的说明?

cruisecontrol.net msbuild build-process

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

在ASP.NET MVC 3中使用视图模型

我对查看模型比较新,我遇到了一些使用它们的问题.这是一种情况,我想知道最佳做法是什么......

我将视图所需的所有信息都放入视图模型中.这是一个例子 - 请原谅任何错误,这是我的头顶编码.

public ActionResult Edit(int id)
{
    var project = ProjectService.GetProject(id);

    if (project == null)
        // Something about not found, possibly a redirect to 404.

    var model = new ProjectEdit();
    model.MapFrom(project); // Extension method using AutoMapper.

    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

如果屏幕只允许编辑一个或两个字段,当视图模型返回时,它会丢失相当多的数据(应该是这样).

[HttpPost]
public ActionResult Edit(int id, ProjectEdit model)
{
    var project = ProjectService.GetProject(id);

    if (project == null)
        // Something about not found, possibly a redirect to 404.

    try
    {
        if (!ModelState.IsValid)
            return View(model) // Won't work, view model is …
Run Code Online (Sandbox Code Playgroud)

c# viewmodel automapper asp.net-mvc-3

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

XmlTextWriter序列化问题

我正在尝试创建一个xml.我用xsd.exe创建了数据类.根类是MESSAGE.

因此,在创建MESSAGE并填充其所有属性后,我将其序列化为:

serializer = new XmlSerializer(typeof(Xsd.MESSAGE));
StringWriter sw = new StringWriter();
serializer.Serialize(sw, response);
string xml = sw.ToString();
Run Code Online (Sandbox Code Playgroud)

到目前为止一切顺利,字符串xml包含有效(UTF-16编码)xml.现在我喜欢用UTF-8编码创建xml,所以我这样做:

编辑:忘记包含流的声明

serializer = new XmlSerializer(typeof(Xsd.MESSAGE));
using (MemoryStream stream = new MemoryStream())
{
    XmlTextWriter xtw = new XmlTextWriter(stream, Encoding.UTF8);
    serializer.Serialize(xtw, response);
    string xml = Encoding.UTF8.GetString(stream.ToArray());
}
Run Code Online (Sandbox Code Playgroud)

问题就出现了:使用这种方法,xml字符串前面有一个无效的char(臭名昭着的方块).
当我像这样检查char:

char c = xml[0];
Run Code Online (Sandbox Code Playgroud)

我可以看到c的值为65279.
任何人都知道这是来自哪里?
我可以通过切掉第一个字符来轻松解决这个问题:

xml = xml.SubString(1);
Run Code Online (Sandbox Code Playgroud)

但我宁愿知道发生了什么,而不是盲目地削减第一个字符.

有人可以对此有所了解吗?谢谢!

.net c# serialization

15
推荐指数
2
解决办法
6360
查看次数

轻量级包装 - 这是一个常见问题,如果是,它的名字是什么?

我必须使用一个库来进行非线程安全的数据库调用.另外,我偶尔也需要在后台线程中加载大量数据.
很难说哪些库函数实际访问了数据库,因此我认为对我来说最安全的方法是用锁来保护每个库调用.

假设我有一个库对象:

dbLib::SomeObject someObject;
Run Code Online (Sandbox Code Playgroud)

现在我可以这样做:

dbLib::ErrorCode errorCode = 0;
std::list<dbLib::Item> items;
{
    DbLock dbLock;
    errorCode = someObject.someFunction(&items);
} // dbLock goes out of scope
Run Code Online (Sandbox Code Playgroud)

我想将其简化为类似的东西(甚至更简单):

dbLib::ErrorCode errorCode =
    protectedCall(someObject, &dbLib::SomeObject::someFunction(&items));
Run Code Online (Sandbox Code Playgroud)

这样做的主要优点是我不必复制接口,dbLib::SomeObject以便用锁来保护每个呼叫.

我很确定这是一个常见的模式/习语,但我不知道它的名字或搜索的关键词.(看看http://www.vincehuston.org/dp/gof_intents.html我认为,它更像是一种成语而不是一种模式).

我在哪里可以查找更多信息?

c++ design-patterns locking idioms wrapper

13
推荐指数
2
解决办法
623
查看次数

如果应用程序被分组到区域,是否需要在actionlink上具有"area"routevalue?

我有一个名为"UserProfile"的区域.从索引视图我想从根控制器(非区域)调用一个Action.我使用了Html.ActionLink("索引","主页")

当我运行应用程序时,生成的URL是"/ UserProfile/Home/Index"而不是"/ Home/Index".

Root
View Index.aspx
控制器:App/Controller/HomeController
路径:App/Views/Home

区域
视图:Index.aspx
路径:App/Areas/UserProfile/Views/User
ActionLink:Html.ActionLink("Index","Home")

asp.net routing

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

在C#中使用ADO.NET格式化内联sql的最佳实践是什么?

我知道这里有很多关于内联sql与存储过程的问题......我不想再开始这样的了!这个是关于内联(或动态)sql.

我也知道这一点对Linq to SQL及其后续实体框架或多或少都没有意义.

但是...... 假设您选择(或者您的上级要求)使用普通的旧ADO.NET和内联(或动态)sql.那么这个和格式化sql的最佳实践是什么?

我现在做的是:我喜欢先在存储过程中创建我的SQL语句.这为我提供了SQL Server Management Studio中的语法着色,并且能够轻松地测试查询,而无需通过我正在开发的应用程序在代码中执行它.

所以只要我正在实现/调试,我的代码看起来像这样:

    using (SqlConnection conn = new SqlConnection("myDbConnectionString"))
    {
        conn.Open();
        using (SqlCommand cmd = conn.CreateCommand())
        {
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "myStoredProcName";
            // add parameters here
            using (SqlDataReader rd = cmd.ExecuteReader())
            {
                // read data and fill object graph
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

一旦调试和测试阶段完成,我就像这样更改上面的代码:

    using (SqlConnection conn = new SqlConnection("myDbConnectionString"))
    {
        conn.Open();
        using (SqlCommand cmd = conn.CreateCommand())
        {
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = GetQuery();
            // add parameters here
            using (SqlDataReader rd …
Run Code Online (Sandbox Code Playgroud)

c# sql ado.net

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

<img rel="nofollow noreferrer" src ="">是否会影响性能?

我只是想知道是否<img src="">在asp.net中伤害了性能?如果是,那么如何,以及什么是更好的解决方案?

编辑

我想补充一些细节: - 如果开发人员错过了src标签或服务器中缺少图像(例如服务器中缺少a.jpg)

<img src="Images/a.jpg">
Run Code Online (Sandbox Code Playgroud)

编辑

我问了这个问题,因为最近我遇到了一个问题,我们的页面只是因为服务器中缺少fav.ico而导致双重后退.

html asp.net

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