您对如何组织和命名实用程序类有任何意见吗?
每当我遇到一些代码复制时,可能只是几个代码行,我将它们移动到实用程序类.
过了一会儿,我往往会得到很多的小静态类,通常只有一个方法,我usualy放在一个utility
是它和类臃肿的命名空间.
例子:
ParseCommaSeparatedIntegersFromString( string )
CreateCommaSeparatedStringFromIntegers( int[] )
CleanHtmlTags( string )
GetListOfIdsFromCollectionOfX( CollectionX )
CompressByteData( byte[] )
Run Code Online (Sandbox Code Playgroud)
通常,命名约定会告诉您将类命名为名词.我经常最终得到很多类HtmlHelper
,CompressHelper
但它们的信息量不大.我也尝试过非常具体的HtmlTagCleaner
,通常每个实用程序方法最终会有一个类.
您对如何命名和分组这些辅助方法有任何想法吗?
Visual Studio 2015(预览版)的一个新功能是"ASP.NET MVC和Web API ......已经统一到一个编程模型中."
我假设这意味着我可以写一个控制器动作"GetCustomerById",它返回一个Customer对象,并且它可以基于内容协商呈现为序列化Json或Html(使用mvc视图).(如果用户通过"Accept:application/json"或"Accept:text/html"请求它)
但我看不出如何做到这一点,他们似乎仍然需要不同的控制器和方法?
我是OpenId的新手,我在理解如何在身份验证完成后使用OpenId时遇到了一些问题.
我正在创建一个新站点,我在使openId身份验证工作时没有任何问题.但是我不确定在用户登录后我应该如何存储用户相关数据.
在openId之前,我将拥有自己的注册过程,具有唯一UserId(整数)的UserTable,并且涉及与某些用户活动相关的数据的所有其他表将只具有标识用户的UserId列.
我现在应该在表格中使用OpenId ID吗?我应该创建一个非常简单的OpenId-> UserId表,每个登录都映射到并且如前所述存储数据吗?当用户想要使用不同的OpenId提供商时会发生什么?
我试图在visual studio 2015预览中将json对象发布到MVC.但是,数据似乎没有绑定到action methods参数.以前在MVC的早期版本中注册了一个JsonValueProviderFactory来处理这个,但我似乎无法在MVC6中找到它?设置是否已更改,这在以前的版本中是否已经开箱即用?
基本上我有一个控制器方法
public ActionResult Save(Person person)
{
...
}
Run Code Online (Sandbox Code Playgroud)
我试图从javascript调用:
var personData = { Name : 'John Doe' };
$.ajax({
url: '@Url.Content("~/Person/Save")',
type: "POST",
data: JSON.stringify(personData ),
dataType: "json",
contentType: "application/json; charset=utf-8"
})
Run Code Online (Sandbox Code Playgroud)
在以前版本的MVC中,json对象被映射到c#参数,请参阅此文章,例如http://webcognoscere.com/post/How-to-POST-a-JSON-object-to-a-Controller-Action的.aspx
如何避免Highcharts中的工具提示覆盖整个栏?我正在尝试使用向下钻取功能创建条形图,但下面示例中的"John"栏我总是被工具提示本身所覆盖,这使得向下钻取非常困难.
$(function () {
$('#container').highcharts({
chart: {
type: 'column'
},
title: {
text: 'Column chart with negative values'
},
xAxis: {
categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas']
},
credits: {
enabled: false
},
plotOptions: {
series: {
cursor: 'pointer'
}
},
series: [{
name: 'John',
data: [-1, -1, -1, -1, 2]
}, {
name: 'Jane',
data: [2, -2, -3, 2, 1]
}, {
name: 'Joe',
data: [3, 4, 4, -2, 5]
}]
});
});
Run Code Online (Sandbox Code Playgroud)