小编Tom*_*Tom的帖子

将React-Router与布局页面或每页多个组件一起使用

我正在将反应路由器添加到现有项目中.

目前,模型被传递到根组件,该根组件包含用于子导航的导航组件和主组件.

我发现反应路由器的例子只有一个子组件,多个子组件改变的最佳方法是什么,而不重复两者中的布局代码?

reactjs react-router

56
推荐指数
4
解决办法
7万
查看次数

Google的间歇性ASP.NET oAuth问题,AuthenticationManager.GetExternalIdentityAsync返回null

我正在尝试使用Google作为外部登录提供程序来解决间歇性问题.

尝试登录时,会将用户重定向回登录页面,而不是进行身份验证.

问题出现在这一行(下面的链接第55行),GetExternalIdentityAsync返回null.

var externalIdentity = await AuthenticationManager.GetExternalIdentityAsync(DefaultAuthenticationTypes.ExternalCookie);
Run Code Online (Sandbox Code Playgroud)

完整的代码是:

[Authorize]
public abstract class GoogleAccountController<TUser> : Controller where TUser : Microsoft.AspNet.Identity.IUser
{
    public IAuthenticationManager AuthenticationManager
    {
        get
        {
            return HttpContext.GetOwinContext().Authentication;
        }
    }

    public abstract UserManager<TUser> UserManager { get; set; }

    [AllowAnonymous]
    [HttpGet]
    [Route("login")]
    public ActionResult Login(string returnUrl)
    {
        ViewData.Model = new LoginModel()
        {
            Message = TempData["message"] as string,
            Providers = HttpContext.GetOwinContext().Authentication.GetExternalAuthenticationTypes(),
            ReturnUrl = returnUrl
        };

        return View();
    }

    [AllowAnonymous]
    [HttpPost]
    [ValidateAntiForgeryToken]
    [Route("login")]
    public ActionResult Login(string provider, string returnUrl)
    {
        return new …
Run Code Online (Sandbox Code Playgroud)

c# oauth-provider google-oauth asp.net-mvc-5

23
推荐指数
1
解决办法
3449
查看次数

AngularJS Routing在IE7中不起作用

我在本教程后面的应用程序中实现了Routing

http://docs.angularjs.org/tutorial/step_07

我无法让我的版本在IE7中工作,并且花了一段时间试图弄清楚我错过了什么/做错了我注意到这个例子不起作用.

http://angular.github.com/angular-phonecat/step-7/app/

任何人都知道如何让这个工作?

javascript internet-explorer-7 angularjs

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

android自动调整模式导致网页中的CSS宽度问题

我有Android浏览器的自动调整大小功能的问题.当设备处于纵向模式时,我网站上的宽度有点乱.

我想做的是

  • 为桌面和移动用户提供相同版本的站点.
  • 允许用户随意放大和缩小.

我目前在脑海里有以下几点

<meta name="viewport" content="width=1100">
Run Code Online (Sandbox Code Playgroud)

我发现以下博客文章描述了我的问题.

这肯定是由自动调整布局引起的(Android WebKit源代码中的"kLayoutFitColumnToScreen").只需尝试禁用自动调整测试,一切都正确呈现(至少在我的Android设备上).

Android上的自动调整模式似乎会缩小某些元素的宽度,而不会影响其定位或其他元素的定位.因此,如果您有一个宽度为1000px的包含块和跨越该宽度100%的文本,则容器可能保持1000px宽,但其中的文本将以屏幕宽度换行.

http://www.quirksmode.org/blog/archives/2009/09/css_width_unrel.html

有没有办法阻止这种自动调整模式开始?我不想禁用缩放.

更新:

如果有人知道,我仍在寻找解决方案.

找到了有同样问题的人(虽然他们正在使用桌子)

跨页列在Android Web浏览器上折叠(使用自动调整页面时)

http://code.google.com/p/android/issues/detail?id=22447&can=4&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars

html css html5 android

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

FormsAuthentication.SetAuthCookie在异步操作中抛出NullReferenceException

我发现FormsAuthentication.SetAuthCookie抛出NullReferenceException - 对象引用未设置为azure网站上异步操作内的对象实例.

我找到了以下内容:

http://connect.microsoft.com/VisualStudio/feedback/details/743350/formsauthentication-setauthcookie-throws-nullreferenceexception-if-called-in-an-async-action-in-mvc4

但是我已经有了

 <appSettings>
    <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
Run Code Online (Sandbox Code Playgroud)

设置和我的代码在本地工作正常我只在部署到azure时遇到问题.我正在使用Azure网站(https://www.windowsazure.com/en-us/home/scenarios/web-sites/),我的理解是这通常使用web.config?我还尝试通过Azure控制面板添加appsetting

在此输入图像描述

并添加.ConfigureAwait(false);到我期待已久的方法,但没有运气.

以下代码将抛出异常

public class TestController : Controller
    {
        public async Task<ActionResult> Index()
        {
            var httpResponse = await new HttpClient().GetAsync("http://www.google.com");
            FormsAuthentication.SetAuthCookie("test", true);
            return View();
        }
    }
Run Code Online (Sandbox Code Playgroud)

谁知道我怎么能让这个工作?

更新:

堆栈跟踪:

[NullReferenceException: Object reference not set to an instance of an object.]
   System.Threading.Tasks.<>c__DisplayClass1c.<GetRethrowWithNoStackLossDelegate>b__1b(Task task) +91
   System.Threading.Tasks.TaskHelpersExtensions.ThrowIfFaulted(Task task) +15
   System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult) +77
   System.Web.Mvc.Async.<>c__DisplayClass3f.<BeginInvokeAsynchronousActionMethod>b__3e(IAsyncResult asyncResult) +16
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +50
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +29
   System.Web.Mvc.Async.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() +59
   System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +240
   System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeActionMethodWithFilters>b__36(IAsyncResult asyncResult) …
Run Code Online (Sandbox Code Playgroud)

asp.net-4.0 async-await asp.net-mvc-3 asp.net-mvc-4

14
推荐指数
1
解决办法
5198
查看次数

反应redux架构表动作和减速器

我将服务器驱动的数据显示在多个页面的表中.

我目前有以下表格动作

pageChange
pageSizeChange
sort
load
loaded
Run Code Online (Sandbox Code Playgroud)

我在一些需要触发负载的页面上有过滤器.

我有多个使用此功能的实体,它们将共享大部分上述逻辑,但需要单独的加载功能定义.

我的想法是让操作以表ID作为参数,然后有一个createTableReducer函数,该函数也将获取此ID并将表节点挂载到实体中,类似于react-redux-form中的 createModelReducer

如何在不使用redux saga之类的东西的情况下从我的通用操作触发实体特定的加载操作?

我想知道创建一个更高阶的组件并传递它的加载函数,但我认为这不会解决我的问题.我也可以从表组件本身调用更改操作和加载操作,但这似乎不是一个很好的解决方案.

javascript reactjs redux react-redux

14
推荐指数
1
解决办法
4176
查看次数

在不使用await的情况下调用异步方法时防止死锁

我需要调用一个Task从内部返回a的方法

public override void OnActionExecuting(ActionExecutingContext filterContext)
Run Code Online (Sandbox Code Playgroud)

它不会让我使这个方法异步它抛出以下

在异步操作仍处于挂起状态时完成异步模块或处理程序.

并在打电话时

 entityStorage.GetCurrentUser().Result
Run Code Online (Sandbox Code Playgroud)

我陷入僵局.我怎么能避免这个?

我一直在玩它想出类似的东西

entityStorage.GetCurrentUser().Result.ConfigureAwait(false).GetAwaiter().GetResult();
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我该怎么做?我的解决方案需要使用ASP.NET 4和Async Targetting Pack,我不能使用ASP.NET 4.5作为部署到Azure.

asp.net asp.net-mvc asp.net-4.0 async-await asp.net-mvc-3

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

为什么使用jQuery动态创建视频元素在IE9中不起作用

我试图用Jquery重新创建以下内容

<video width="640" height="264" autoplay>
    <source src="http://video-js.zencoder.com/oceans-clip.mp4" type="video/mp4" />
    <source src="http://video-js.zencoder.com/oceans-clip.webm" type="video/webm" />
    <source src="http://video-js.zencoder.com/oceans-clip.ogv" type="video/ogg" />
</video>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/4bkpU/2/

我已经提出以下但是在IE9中视频元素是空的,任何人都可以告诉我为什么以及我需要更改以便能够在IE9中动态添加视频?它在Firefox,Chrome和Safari中运行良好.

HTML

<div id="videoHolder">
</div>
Run Code Online (Sandbox Code Playgroud)

JQuery的

var video = $('<video width="640" height="264" autoplay></video>')
            .append('<source src="http://video-js.zencoder.com/oceans-clip.mp4" type="video/mp4" />')
            .append('<source src="http://video-js.zencoder.com/oceans-clip.webm" type="video/webm" />')
            .append('<source src="http://video-js.zencoder.com/oceans-clip.ogv" type="video/ogg" />')
            .appendTo($("#videoHolder"));
Run Code Online (Sandbox Code Playgroud)

更新 - 关闭上面的视频标记并添加新链接

http://jsfiddle.net/8Cevq/

html jquery html5 internet-explorer

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

如何仅在调试模式下部署到azure时关闭自定义错误

我正在一个网站上工作,我们使用Web.Debug.config和转换XSLT来关闭自定义错误

<customErrors mode="Off" xdt:Transform="Replace"/>`
Run Code Online (Sandbox Code Playgroud)

但是,在部署到azure时似乎没有考虑到这一点.

每个环境的Azure web.config

我可以看到azure使用.cscfg文件,而我想要完成的内容可能会涉及这些文件?在部署到azure时关闭自定义错误的最简单方法是什么,但仅在调试时?

asp.net azure

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

ReactNative ListView设置数据加载后的初始滚动位置

我有一个事件部分,其中包含包含日期的章节标题.我需要能够跳转到特定日期,并将初始滚动位置设置为将来的第一个日期.

为了跳转到特定日期,我尝试将他们的y位置存储在州.

renderSectionHeader= (sectionData, sectionID) => (
      <View
        onLayout={(event) => {
          const { y } = event.nativeEvent.layout;
          const sectionPosition = { [sectionID]: y };
          const sectionPositions = Object.assign({}, this.state.sectionPositions, sectionPosition);
          this.setState({ sectionPositions });
        }}
       ...
Run Code Online (Sandbox Code Playgroud)

我遇到了这种方法的问题,但是因为没有在列表下方的元素上调用renderSectionHeader(由于延迟渲染).

然后我尝试以数学方式计算位置,但这会导致每个部分的渲染在靠近给定日期时显示在屏幕上.

有没有办法达到我的需要?

有关

React Native ListView:如何滚动到特定行

https://github.com/facebook/react-native/issues/499

UPDATE

在我的应用程序中,我知道所有行都是完全相同的高度.

使用contentOffset={{ y: offsetY }}而不是setScroll不起作用,因为它仍然需要渲染到给定项目的所有项目才能工作.

使用initialListSize={99999999}确实有效,但使页面变得非常慢,我被警告不要使用它.

更新2

是否可以将我的初始内容提供给数据源,然后更新数据以在屏幕上当前元素之前和之后添加额外的项目?

或者是否有一个我没找到的图书馆可以满足我的需求?

javascript react-native react-native-listview react-native-scrollview

11
推荐指数
1
解决办法
4357
查看次数