小编Mah*_*vej的帖子

获取错误"表单提交已取消,因为表单未连接"

我有一个旧网站与JQuery 1.7,两天前正常工作.突然,我的一些按钮不再工作,点击它们后,我在控制台中收到此警告:

表单提交已取消,因为表单未连接

点击后面的代码是这样的:

 this.handleExcelExporter = function(href, cols) {
   var form = $('<form method="post"><input type="submit" /><input type="hidden" name="layout" /></form>').attr('action', href);
   $('input[name="layout"]', form).val(JSON.stringify(cols));
   $('input[type="submit"]', form).click();
 }
Run Code Online (Sandbox Code Playgroud)

Chrome 56似乎不再支持这种代码了.不是吗?如果是,我的问题是:

  1. 为什么这突然发生了?没有任何弃用警告?
  2. 此代码的解决方法是什么?
  3. 有没有办法强制chrome(或其他浏览器)像以前一样工作而不更改任何代码?

PS 它在最新的firefox版本中也不起作用(没有任何消息).它也无法在IE 11.0和Edge中运行!(两者都没有任何消息)

javascript jquery google-chrome jquery-1.7

138
推荐指数
9
解决办法
12万
查看次数

没有OWIN身份验证管理器与请求关联

在尝试为我的Web Api项目启用owin和AspNet Identity(在VS 2013 + .Net 4.5.1中)后,我在每个有效或无效(请求到无存在的控制器)请求中收到以下错误:

<Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>
No OWIN authentication manager is associated with the request.
</ExceptionMessage>
<ExceptionType>System.InvalidOperationException</ExceptionType>
<StackTrace>
at System.Web.Http.Owin.PassiveAuthenticationMessageHandler.SuppressDefaultAuthenticationChallenges(HttpRequestMessage request) at System.Web.Http.Owin.PassiveAuthenticationMessageHandler.<SendAsync>d__0.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() at System.Web.Http.HttpServer.<SendAsync>d__0.MoveNext()
</StackTrace>
</Error>
Run Code Online (Sandbox Code Playgroud)

当我在调试模式下检查时,也没有处理任何异常!我也意识到ConfigurationStartup课堂上永远不会被调用(实际上从未被调试器捕获过).这是启动代码:

[assembly: OwinStartup(typeof(bloob.bloob.Startup))]

namespace bloob.bloob
{
    public partial class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

windows-authentication owin asp.net-mvc-5

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

对于超过250条记录的批量插入,检查约束不起作用

我的查询:

INSERT into PriceListRows (PriceListChapterId,[No])
    SELECT TOP 250 100943 ,N'2'
    FROM #AnyTable
Run Code Online (Sandbox Code Playgroud)

此查询工作正常,并根据需要引发以下异常:

INSERT语句与CHECK约束"CK_PriceListRows_RowNo_Is_Not_Unqiue_In_PriceList"冲突.冲突发生在数据库"TadkarWeb",表"dbo.PriceListRows"中.

但是更改SELECT TOP 250SELECT TOP 251(是!只需更改250到251!),查询成功运行,没有任何检查约束异常!

为何这种奇怪的行为?

注意:

  1. 我的检查约束是一种检查某种唯一性的函数.它查询约4个表.

  2. 我检查了SQL Server 2012 SP2和SQL Server 2014 SP1

**编辑1**

检查约束函数:

ALTER FUNCTION [dbo].[CheckPriceListRows_UniqueNo] (
    @rowNo nvarchar(50),
    @rowId int,
    @priceListChapterId int,
    @projectId int)
RETURNS bit
AS
BEGIN
    IF EXISTS (SELECT 1 
               FROM RowInfsView 
               WHERE PriceListId = (SELECT PriceListId 
                                    FROM ChapterInfoView 
                                    WHERE Id = @priceListChapterId) 
                 AND (@rowID IS NULL OR Id <> @rowId) 
                 AND No …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server check-constraints user-defined-functions

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

向hub方法添加一些过滤器(如MVC中的AcctionFilters)

无论如何为hub功能定义和添加方法过滤器(如mvc中的ActionFilters)我的意思是这样的:

public class MyHub : Hub 
{

    [Log]
    public string RegisterUser(UserModel model){
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以在LogAttribute实现中做一些控制.

signalr signalr-hub

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

WebApi OAuth UseOAuthBearerAuthentication给出"Sequence包含多个元素"错误

我按以下方式配置了我的WebApi OAuth 2.0:

    app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions
    {
        Provider = new OAuthBearerAuthenticationProvider(),
    });

    app.UseOAuthBearerTokens(OAuthOptions);
Run Code Online (Sandbox Code Playgroud)

但它在每次请求时都给出了以下错误:

Message : An error has occurred.
ExceptionMessage : Sequence contains more than one element
ExceptionType : System.InvalidOperationException
StackTrace :    at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
   at Microsoft.Owin.Security.AuthenticationManager.d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
   at System.Web.Http.HostAuthenticationFilter.d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at …
Run Code Online (Sandbox Code Playgroud)

c# oauth-2.0 asp.net-web-api owin bearer-token

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

在运行时更改viewmodel的MetadataType属性

在Microsoft MVC 3.0中,我有一个类:

public class Product{
    public string Title {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

此类可以表示为产品或服务,它们之间的唯一区别仅在于查看时的字段标签.

所以我创建了两个类:

 public class ProductMetaData
    {
        [Display(Name = "Product")]
        public object Title { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

public class ServiceMetaData
    {
        [Display(Name = "Service")]
        public object Title { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

如何在运行时将这些类设置为MetadataType

------------------------编辑------------------------- -

我发现我们可以通过继承DataAnnotationsModelMetadataProviderDataAnnotationsModelValidatorProvider类并在这两者中重写GetTypeDescriptor方法来设置/更改类型的元数据,如下所示:

 public class xx : DataAnnotationsModelMetadataProvider
{

    protected override ICustomTypeDescriptor GetTypeDescriptor(Type type)
    {

        if (type == typeof(InvoiceItemViewModel))
            return (new AssociatedMetadataTypeTypeDescriptionProvider(typeof(InvoiceItemViewModel), typeof(InvoiceItemMetaData))).GetTypeDescriptor(type);
        else
            return base.GetTypeDescriptor(type);
    } …
Run Code Online (Sandbox Code Playgroud)

data-annotations asp.net-mvc-3

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

在系统中实施权限的最佳实践?

我有一个包含不同类型权限的应用程序。正如 (Role Bases Security) RBC 中提到的,我将用户分组为不同的角色并为角色分配不同的权限。(和权限是这种风格:

public enum Permission {
     View = 1,
     Create =2,
     Edit =4,
     Delete =8,
     Print = 16
}
Run Code Online (Sandbox Code Playgroud)

在简单的系统中一切正常,但是当系统变得有点复杂时,系统会获得特定的权限,例如:

  • 仅查看发出的发票
  • 查看所有发票
  • 仅编辑发出的发票
  • 编辑所有发票
  • 创建销售发票
  • 创建采购发票
  • 创建形式
  • 在他自己的发票上创建销售报告
  • 创建每日销售报告
  • 创建月度销售报告 -....

如您所见,系统中出现了不同类型的权限(它可以增长到大约 200 个不同的权限)。所以问题是:

  • 我不能把它们都放在一个 enum 中。然后不能使用二进制模式 (1,2,4,8,..) 因为在最好的情况下 (int64) 它支持多达 64 种不同的权限。
  • 一个大的枚举(大约有 200 个项目)在编码方面不太好

在这种情况下你有什么想法?

提前致谢 :-)

security permissions

5
推荐指数
1
解决办法
1467
查看次数

手持式嵌入式Windows 7

我是Window Embedded Compact 7.0(WEC 7)的新手,所以我对它有一些疑问:

1-是否有与之一起运行的手持设备?我发现只有6.5和更低的赢得CE版本(请查看此链接:http://www.microsoft.com/windowsembedded/en-us/evaluate/windows-embedded-handheld-devices.aspx)

2-它的.Net框架版本是什么?.NET CF 3.5或.NET CF 3.7?我不知道它的技术是否与Windows 7或Windows Phone 7相关.如果它的.NET版本是.NET CF 3.7,我可以在它上面运行旧的.NET 3.5应用程序,还是应该将它们更改为silverlight版本?(据我所知,我无法在Windows Phone 7上运行它们)

3 - 我找不到它的任何截图.

4-对于窗口电话7,VS 2010上有一个免费的附加组件用于开发(尽管发布不是免费的).有没有免费的开发工具包和模拟器(确实是手持模拟器)?

提前致谢

4 - ..或完全我的思维方式错误?;-)

windows-ce windows-embedded windows-embedded-compact

5
推荐指数
1
解决办法
3887
查看次数

修改HttpContent(actionExecutedContext.Response.Content)中的WebAPI的ActionFilterAttribute的OnActionExecuted方法

我的WebApi操作方法返回IQueryable,我想通过Asp.Net WebApi(非MVC)中的ActionFilterAttribute修改它(应用分页和过滤).以下线程我得到了如何访问传递的模型:

.Net Web API IActionFilter.OnActionExecuted返回类型

但是如何用其他东西改变/替换整个模型呢?

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

5
推荐指数
1
解决办法
9717
查看次数

使用 Active Directory 中的成员资格提供程序进行简单的用户名登录

ActiveDirectoryMembershipProvider在我的 ASP.Net 项目之一中使用 Active Directory 进行身份验证。

我使用此 LDAP 连接字符串成功连接到它:

LDAP://server/DC=mydomain,DC=com
Run Code Online (Sandbox Code Playgroud)

但仍有两个问题:

  1. 调用Membership.GetUser("moravej")返回 Null 而调用Membership.GetUser("moravej@mydomain.com")获取正确的对象。有没有办法解决这个问题?当 AD 对他们透明时,我不想让用户使用他们的全名。此外,我不想更改我的代码以连接@mydomain.com到输入的值(因为我需要进行很多更改)

  2. 我希望会员能够使用所有 AD 用户进行登录。(在这种情况下它会这样做)但我希望将由我的应用程序创建的所有用户转到 CRM OU。如果我将连接字符串设置为LDAP://server/OU=CRM,DC=mydomain,DC=com它在调用Membership.GetUser()不在此 OU 中的用户时返回 null 。

有没有办法解决这些问题?

提前致谢

.net asp.net-membership active-directory activedirectorymembership

4
推荐指数
1
解决办法
5439
查看次数

修改WebApi DelegatingHandler中的Request.Content

我需要修改请求的内容来替换一些字符(因为一些unicode问题).以前(在ASP.NET MVC中)我用HttpModules做了这个,但是在WebApi中我似乎应该使用DelegatingHandler,但它完全不同.

现在我想知道如何request.Content在SendAsync方法中进行修改.我需要这样的东西:

  protected async override Task<HttpResponseMessage> SendAsync(
        HttpRequestMessage request, CancellationToken cancellationToken)
    {
        var s = await request.Content.ReadAsStringAsync();
    // do some modification on "s"
    s= s.replace("x","y");

    request.Content = new StringContent(s);

    var response = await base.SendAsync(request, cancellationToken);

    return response;
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我想我应该检查请求的内容类型,然后决定做什么.如果是,我应该做哪些检查?

httpmodule asp.net-web-api

4
推荐指数
1
解决办法
3552
查看次数

从通用Hub继承

假设我有一个像这样的基类:

public class CustomizedHub<M> : Hub
{
...
}
Run Code Online (Sandbox Code Playgroud)

现在我想从这个基类继承所有实用的集线器,但是我收到以下错误:

Type CustomizedHub`1<M> is a generic type definition
Run Code Online (Sandbox Code Playgroud)

上述错误的主要原因是SignalR尝试将基类解析为实际的集线器.我该如何强制执行以避免这种情况?

signalr

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

如何在TFS中查询以获取具有所有子项的指定条件的工作项

TFS query builder,我需要一个查询来获取所有PBI的所有子任务都处于完成状态.例如 :

PBI : User Story 1
    - Task 1 (Done)
    - Task 2 (Done)
    - Task 3 (Done)

PBI : User Story 2
    - Task 1 (Done)
    - Task 2 (Done)
    - Task 3 (In Progress)
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,所需的查询应该只返回 User Story 1

tfs tfs2013

2
推荐指数
1
解决办法
4275
查看次数