我刚刚使用Target Framework Migrator将我的解决方案升级到.net 4.5 ,然后是包管理器控制台命令:
Update-Package -Reinstall -IgnoreDependencies
在我正在使用的一个项目中:
using System.Web.Http.Controllers;
using System.Web.Http.Filters;
Run Code Online (Sandbox Code Playgroud)
代码使用HttpActionContext
和ReflectedHttpActionDescriptor
.我注意到System.Web.Http
已从我的引用中删除,并且在"添加新引用"窗口中不再可用.这是怎么回事?
电子邮件客户端的HTML显示功能有限.
什么HTML标记和CSS样式在HTML格式的电子邮件中使用是否安全?
我正在使用dynatree插件显示一个复选框树,使用多选模式(模式3).
当使用ajax(没有延迟加载)初始化树时,似乎忘记了最初选择了一些节点.当我选择其中一个节点时,传递给onSelect处理程序的标志值为true,即:它认为我想选择节点.
当我再次单击该复选框时,它会取消选择.似乎在后台选择没有注册,直到我实际点击复选框.我想加载已选择此节点的树.
我用来加载树的json对我来说很好看; 在选择属性是有问题的节点,根节点如此.这是JSON的片段:
{
"expand":true,
"title":"All",
"isFolder":false,
"key":"0",
"isLazy":false,
"addClass":null,
"select":true,
"unselectable":false,
"children": [... omitted for clarity]
}
Run Code Online (Sandbox Code Playgroud)
UPDATE
我这样加载树:
$("#locationsTree").dynatree({
checkbox: true,
selectMode: 3,
initAjax: {
type: "POST",
url: dynaTreeInitUrl
},
classNames:
{
nodeIcon: ""
}
});
Run Code Online (Sandbox Code Playgroud)
其中dynaTreeInitUrl是返回json的url.
如果我像这样对JSON进行硬编码:
$("#locationsTree").dynatree({
checkbox: true,
selectMode: 3,
children: {
"expand":true,
"title":"All",
"isFolder":false,
"key":"0",
"isLazy":false,
"addClass":null,
"select":true,
"unselectable":false,
"children": [{
"expand": true,
"title": "Child",
"isFolder": false,
"key": "1",
"isLazy": false,
"addClass": null,
"select": true,
"unselectable": true,
"children": …
Run Code Online (Sandbox Code Playgroud) 我在一个动作的JSON响应中返回一些简单的HTML标记.
以下是完整响应(为了便于阅读而添加了换行符):
{
"Success":true,
"Content":"\r\n
<div class=\"editor-form\">\r\n
<form action=\"/Blah/Blah/5104?id=9\" method=\"post\">
<input data-val=\"true\" data-val-number=\"The field Id must be a number.\" data-val-required=\"The Id field is required.\" id=\"Id\" name=\"Id\" type=\"hidden\" value=\"5104\" />
<input data-val=\"true\" data-val-number=\"The field Vat Rate must be a number.\" data-val-required=\"The Vat Rate field is required.\" id=\"VatRate\" name=\"VatRate\" type=\"hidden\" value=\"1.2000\" />
<div class=\"display-field\">\r\n\t
<label for=\"Price\">Price (Ex-VAT)</label>\r\n\t
<input class=\"text-box single-line\" data-val=\"true\" data-val-number=\"The field Price must be a number.\" data-val-required=\"The Price field is required.\" id=\"Price\" name=\"Price\" type=\"text\" value=\"92.50\" />\r\n\t
</div>\r\n
</form>
</div>",
"Data":null, …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将tableadapter添加到我的SQL Server 2005 Express中的存储过程.但是,存储过程使用名为#temp的临时表.创建表适配器时,Visual Studio会抱怨"未知对象'#temp'"并表示存储过程返回0列.这是有问题的,因为我使用带有水晶报表的存储过程,并且需要这些列.
我怎样才能解决这个问题?
t-sql stored-procedures sql-server-2005-express strongly-typed-dataset visual-studio-2008
我在codebehind中有一个这样定义的using语句:
using Name = Extremely.Long.And.Unwieldy.Namespace
Run Code Online (Sandbox Code Playgroud)
我希望能够在我的aspx页面中执行此操作:
<%=Name.Type %>
Run Code Online (Sandbox Code Playgroud)
到目前为止,我提出的最好的是:
<%=Namespace.Type %>
Run Code Online (Sandbox Code Playgroud)
使用此处显示的技术.
我可以做得更好吗?
我有一个存储过程,我在数据集中使用它来生成ReportViewer中的报表.
此SP使用临时表来存储中间值,以便可以在SP末尾的计算中使用这些值.
在SP结束时,临时表都被彻底删除.
我可以在SSMS中执行SP而没有任何问题,它返回我期望的数据.
但是,当使用TableAdapter配置向导在VS2012中更新我的xsd时,它会给出错误Invalid object name '#Held'
(其中#Held是其中一个临时表的名称).
这是怎么回事?
我对一个实体有一个简单的分页linq查询:
var data = (from t in ctx.ObjectContext.Widgets
where t.CampaignId == campaignId &&
t.CalendarEventId == calendarEventId
(t.RecurringEventId IS NULL OR t.RecurringEventId = recurringEventId)
select t);
data = data.OrderBy(t => t.Id);
if (page > 0)
{
data = data.Skip(rows * (page - 1)).Take(rows);
}
var l = data.ToList();
Run Code Online (Sandbox Code Playgroud)
我希望它生成类似于的SQL:
select top 50 * from Widgets w where CampaignId = xxx AND CalendarEventId = yyy AND (RecurringEventId IS NULL OR RecurringEventId = zzz) order by w.Id
Run Code Online (Sandbox Code Playgroud)
当我在SSMS中运行上述查询时,它会快速返回(必须首先重建我的索引).
但是,生成的SQL是不同的.它包含一个嵌套查询,如下所示:
SELECT TOP (50)
[Project1].[Id] …
Run Code Online (Sandbox Code Playgroud) 我正在编写代码来确定密码是否包含足够的标点字符.
如何计算集合中任何字符的出现次数?
这些方面的东西:
private const string nonAlphaNumericCharSet = "#*!?£$+-^<>[]~()&";
...
public static bool PasswordMeetsStrengthRequirements(string password)
{
return password.Length >= MINIMUM_PASSWORD_LENGTH && password.NumberOfOccurences(nonAlphaNumericCharSet.ToCharArray()) >= MINIMUM_NONALPHANUMERIC_CHARS;
}
Run Code Online (Sandbox Code Playgroud)
优雅的linq解决方案的奖励积分.
在.cshtml视图中使用插值字符串会产生以下智能感知错误:Feature 'interpolated strings' is not used in C#5. Please use language version 6 or greater.
此语言和其他C#7语言功能在编译代码(.cs文件)中有效.
如下所示,最新的主要版本是 C#7.
根据这个问题的评论,"默认"是指"最新主要版本".
那么为什么会出错呢?另外,为什么它不会将"最新主要版本"和"最新次要版本"显示为单独的列表选项,正如我在许多在线示例中看到的那样?
更新:
我终于通过安装CodeDom提供程序包(Microsoft.Net.Compilers包与Msbuild相关)设法在我的视图中进行字符串插值.CodeDOM Providers包与ASP.NET和其他在运行时编译的apis有关,因此为什么要使用cshtml如果没有安装,即使为msbuild选择了最新的语言版本,文件也会显示错误.这会自动将以下内容添加到我的web.config中:
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
</compilers>
</system.codedom>
Run Code Online (Sandbox Code Playgroud)
参考:C#6.0功能不适用于Visual Studio 2015
我相信升级到MVC6也会修复它.
asp.net-mvc ×3
c# ×3
.net ×2
html ×2
jquery ×2
sql-server ×2
t-sql ×2
.net-4.5 ×1
ajax ×1
algorithm ×1
asp.net ×1
c#-7.0 ×1
css ×1
dynatree ×1
html-email ×1
html5 ×1
javascript ×1
json ×1
linq ×1
outlook ×1