小编Kev*_*Kev的帖子

.net 4.5升级后缺少System.Web.Http

我刚刚使用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)

代码使用HttpActionContextReflectedHttpActionDescriptor.我注意到System.Web.Http已从我的引用中删除,并且在"添加新引用"窗口中不再可用.这是怎么回事?

.net asp.net-mvc .net-4.5 asp.net-web-api

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

HTML电子邮件的安全标记

电子邮件客户端的HTML显示功能有限.

什么HTML标记和CSS样式在HTML格式的电子邮件中使用是否安全?

html css html5 outlook html-email

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

使用ajax时,Dynatree忽略select属性

我正在使用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)

javascript ajax jquery json dynatree

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

使用jQuery ajax时,Chrome会删除表单元素

我在一个动作的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)

html asp.net-mvc jquery google-chrome

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

为什么我的类型化数据集不像临时表?

我正在尝试将tableadapter添加到我的SQL Server 2005 Express中的存储过程.但是,存储过程使用名为#temp的临时表.创建表适配器时,Visual Studio会抱怨"未知对象'#temp'"并表示存储过程返回0列.这是有问题的,因为我使用带有水晶报表的存储过程,并且需要这些列.

我怎样才能解决这个问题?

t-sql stored-procedures sql-server-2005-express strongly-typed-dataset visual-studio-2008

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

在aspx中缩短名称空间别名

我在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)

使用此处显示的技术.

我可以做得更好吗?

asp.net

8
推荐指数
1
解决办法
2543
查看次数

TableAdapter配置向导不喜欢SP中的临时表

我有一个存储过程,我在数据集中使用它来生成ReportViewer中的报表.

此SP使用临时表来存储中间值,以便可以在SP末尾的计算中使用这些值.

在SP结束时,临时表都被彻底删除.

我可以在SSMS中执行SP而没有任何问题,它返回我期望的数据.

但是,当使用TableAdapter配置向导在VS2012中更新我的xsd时,它会给出错误Invalid object name '#Held'(其中#Held是其中一个临时表的名称).

这是怎么回事?

.net t-sql sql-server stored-procedures

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

实体框架为分页查询生成低效的SQL

我对一个实体有一个简单的分页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)

c# linq sql-server entity-framework

8
推荐指数
1
解决办法
820
查看次数

计算字符串中数组出现的字符数?

我正在编写代码来确定密码是否包含足够的标点字符.

如何计算集合中任何字符的出现次数?

这些方面的东西:

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解决方案的奖励积分.

c# algorithm

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

VS2017 - C#7语言功能在MVC视图中不起作用

在.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=\&quot;Web\&quot; /optionInfer+" />
    </compilers>
  </system.codedom>
Run Code Online (Sandbox Code Playgroud)

参考:C#6.0功能不适用于Visual Studio 2015

我相信升级到MVC6也会修复它.

c# asp.net-mvc visual-studio c#-7.0 visual-studio-2017

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