小编OJ *_*eño的帖子

在ASP.NET MVC的ajax中包含antiforgerytoken

我在使用ajax的AntiForgeryToken遇到了麻烦.我正在使用ASP.NET MVC 3.我在jQuery Ajax调用和Html.AntiForgeryToken()中尝试了解决方案.使用该解决方案,现在正在传递令牌:

var data = { ... } // with token, key is '__RequestVerificationToken'

$.ajax({
        type: "POST",
        data: data,
        datatype: "json",
        traditional: true,
        contentType: "application/json; charset=utf-8",
        url: myURL,
        success: function (response) {
            ...
        },
        error: function (response) {
            ...
        }
    });
Run Code Online (Sandbox Code Playgroud)

当我删除[ValidateAntiForgeryToken]属性只是为了查看数据(带有令牌)是否作为参数传递给控制器​​时,我可以看到它们正在被传递.但由于某种原因,A required anti-forgery token was not supplied or was invalid.当我放回属性时,消息仍会弹出.

有任何想法吗?

编辑

antiforgerytoken是在表单中生成的,但我没有使用提交操作来提交它.相反,我只是使用jquery获取令牌的值,然后尝试ajax发布.

这是包含令牌的表单,位于顶部母版页:

<form id="__AjaxAntiForgeryForm" action="#" method="post">
    @Html.AntiForgeryToken()
</form>
Run Code Online (Sandbox Code Playgroud)

asp.net ajax asp.net-mvc csrf asp.net-mvc-3

152
推荐指数
6
解决办法
14万
查看次数

模拟交叉上下文连接 - LINQ/C#

这是问题所在:

我有2个数据上下文,我想加入.现在我知道LINQ不允许从一个上下文到另一个上下文的连接,我知道2个可能的解决方案是创建单个datacontext或者有2个单独的查询(这就是我现在正在做的事情).但是,我想要做的是"模拟"一个连接.

这是我尝试过的.

using (var _baseDataContext = Instance)
{
    var query = from a in _baseDataContext.Account.ACCOUNTs
                where a.STR_ACCOUNT_NUMBER.ToString() == accountID
                join app in _baseDataContext.Account.APPLICATIONs on a.GUID_ACCOUNT_ID equals
                            app.GUID_ACCOUNT
                join l in GetLoans() on app.GUID_APPLICATION equals l.GUID_APPLICATION
                select l.GUID_LOAN;

    return query.Count() > 0 ? query.First() : Guid.Empty;
}

private static IQueryable<LOAN> GetLoans()
{
    using (var _baseDataContext = Instance)
    {
        return (from l in _baseDataContext.Loan.LOANs
                select l).AsQueryable();
    }
}
Run Code Online (Sandbox Code Playgroud)

在运行时我得到了

System.InvalidOperationException:查询包含对在不同数据上下文中定义的项的引用

编辑:

工作方案:

using (var _baseDataContext = Instance)
{
    var query = …
Run Code Online (Sandbox Code Playgroud)

c# linq datacontext entity-framework

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

C#async/await方法到F#?

我正在尝试学习F#,并且正在将一些C#代码转换为F#.

我有以下C#方法:

public async Task<Foo> GetFooAsync(byte[] content)
{
    using (var stream = new MemoryStream(content))
    {
        return await bar.GetFooAsync(stream);
    }
}
Run Code Online (Sandbox Code Playgroud)

bar一些私人领域在哪里并GetFooAsync返回一个Task<Foo>.

这如何转化为F#?

这是我目前拥有的:

member public this.GetFooAsync (content : byte[]) = 
    use stream = new MemoryStream(content)
    this.bar.GetFooAsync(stream)
Run Code Online (Sandbox Code Playgroud)

哪个返回一个Task.

f# c#-to-f#

11
推荐指数
2
解决办法
1005
查看次数

在视图的ng-animate期间,"离开"视图仍然占用空间,而"进入"视图是动画的

我正在使用AngularJS 1.1.5并使用daneden的animate.css尝试ng-animate指令.我使用路由设置了几个视图.我正在使用Twitter Bootstrap 3 RC1.

这是ng-view的代码:

<div class="container" ng-view ng-animate="{enter:'animated fadeInRightBig', leave:'animated fadeOutLeft'}"></div>
Run Code Online (Sandbox Code Playgroud)

这是路由部分:

$routeProvider
    .when('/', {
        templateUrl: '/Home/Home',
        title: 'Home'
    })
    .when('/Home/Home', {
        templateUrl: '/Home/Home',
        title: 'Home'
    })
    .when('/Home/About', {
        templateUrl: '/Home/About',
        title: 'About'
    })
    .otherwise({
        redirectTo: '/'
    });

    $locationProvider.html5Mode(false).hashPrefix('!');
Run Code Online (Sandbox Code Playgroud)

动画有效(也就是说,我看到了动画效果),视图也发生了变化.

我遇到麻烦的是,"离开"视图似乎仍在占用空间,而"进入"视图正在制作动画.

结果是新视图的输入动画发生在离开视图先前占用的空间之下.这就好像旧视图仍然存在,即使它已经"动画化"了.一旦动画结束,新视图突然猛然移动到正确的位置.我正在使用fadeInRightBig进行输入,使用fadeOutLeft进行离开.

怎么解决这个问题?预期的结果是没有抖动的平滑过渡,就像这里幻灯片1到3中ng-switch的动画一样.(当然,我正在使用ng-view.)

谢谢!

编辑:

我把它取回来,当'enter'动画正在运行时,'leave'动画还没有完全结束.

所以我想我的问题会有所改变..但预期的结果是一样的.如何实现平滑的"滑动"效果?

angularjs angularjs-routing ng-animate

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

测试 Discord 邀请链接是否无效?

我正在尝试制作一个应用程序来测试 Discord 邀请链接并检查它们是否无效或有效。但是,我不知道该怎么做。

c# discord

0
推荐指数
1
解决办法
7252
查看次数