小编Mor*_*ner的帖子

jQuery选择器中前导冒号的目的是什么?

我已经开始使用Wijmo工具包了,并且在他们的文档页面中遇到了很多与此相似的示例选择器:

$(":input[type='radio']").wijradio();
Run Code Online (Sandbox Code Playgroud)

我这样写过我的:

$('input[type=radio]').wijradio();
Run Code Online (Sandbox Code Playgroud)

这些是做同样的还是我缺少的东西?

请注意,上面有两个不同之处:第一个选择器以冒号为前缀,并为输入类型提供引号.

jquery jquery-selectors

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

如何在页面数据准备好之前延迟jQuery Mobile中的页面转换?

我有一个使用jquery-mobile(jqm)和knockout构建的移动单页Web应用程序.应用程序本身有多个页面,但它们都包含在一个HTML文档中.

问题:在将"创建页面视图模型"从同步更改为异步行为后,我遇到了jquery-mobile在数据准备好之前触发其事件的问题.

背景:直到最近,我一直在处理样本数据,基本上是一个巨大的JSON blob,一切都很顺利.使用来自各种来源的视图模型的新异步组合,数据不会立即就绪,我的"buildViewModel"方法采用连续回调而不是仅仅同步返回数据.

我正在订阅pag​​ebeforecreate和pagebeforechange事件,并在此处触发代码以填充viewmodel.问题是从事件处理程序返回后,jqm在数据可用之前触发剩余的事件链.这导致页面转换到未准备的页面,这是不希望的.

我试图event.preventDefault在所有事件之前调用并在页面准备好a)增强后手动调用$ .mobile.changePage并且b)页面转换发生,但没有任何运气.

我已经扫描了jquery-mobile源,但是看不到任何看起来像是允许我延迟pagebeforeshow事件的东西,这本质上是我需要的才能正确渲染页面.

在jquery-mobile尝试增强页面之前和执行转换到页面之前,我如何确保1)数据可用并且2)已应用knockout来执行初始DOM操作?

我还考虑使用同步ajax来获取资源,但这(我认为)不适用于从设备加载的资源(使用PhoneGap/Cordova),并且还有其他我想避免的负面后果.

FWIW,我想通过在任何地方连接点击处理程序来避免手动处理所有导航事件,但如果需要,我会对所有解决方案持开放态度.

如果这是重复的,请道歉; 我搜索并阅读了大量问题,但没有找到完全相同的答案或问题.听起来不可思议的是我会成为第一个遇到这个问题的人,因为我认为这是一个常见的场景.

更新:澄清问题场景描述.

javascript jquery-mobile knockout.js

20
推荐指数
2
解决办法
7055
查看次数

构建TypeScript代码库有哪些建议?

我已经使用C#多年了,我主要习惯于单文件的每种类型的做事方式.我也喜欢将文件放入子文件夹(对应于C#中的命名空间).

但现在我正在使用TypeScript构建一个移动Web应用程序,并发现自己以相同的方式构建我的代码.但是,这不能很好地工作:

  • 每个文件都会生成一个模块包装器,因此如果您有许多具有相同模块的文件,则输出(捆绑时)包含许多不必要的代码行.
  • 引用其他模块中的类型是...不像C#中那样好,因为你必须在类型名称前加上模块名称.

第一点应该是通过编写一个小工具从捆绑输出中去掉不必要的模块包装器来解决的.而且我认为我需要避免使用子模块,只需将所有内容都粘贴到一个模块中,无论文件系统位置如何.

是否有更好的方法来构建TypeScript代码而不是我目前正在做的/计划或者像上面这样的推荐做法?对于喜欢单一责任原则的人来说,有哪些替代方案值得考虑?

PS:我希望这属于SO的指导方针,尽管可能有点主观和开放性.

typescript

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

如何使用ASP.NET MVC返回动态CSS?

我需要一个解决方案,让我完成以下任务:

  • 返回由action方法动态生成的CSS
  • 根据请求参数或cookie选择CSS文件
  • 使用工具来组合和压缩(缩小)CSS

我目前正在考虑为什么ASP.NET MVC中没有CssResult,以及是否存在缺席的原因.创建自定义ActionResult不是最好的方法吗?有没有其他方式我忽略了做我需要的东西?

在我开始这项任务之前可能有任何其他建议或提示也将不胜感激:)

.net css c# asp.net-mvc

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

如何重写查询表达式以使用int替换枚举?

受到希望能够在EF查询中使用枚举的启发,我正在考虑将ExpressionVisitor添加到我的存储库中,这些存储库将采用传入的条件/规范标准并重写它们以使用相应的持久性int属性.

我一直在我的(代码优先)实体中使用以下值后缀模式:

public class User : IEntity
{
    public long ID { get; set; }

    internal int MemberStatusValue { get; set; }

    public MemberStatus MemberStatus 
    {
        get { return (MemberStatus) MemberStatusValue; }
        set { MemberStatusValue = (int) value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

并使用以下内容将其映射到数据库:

internal class UserMapping : AbstractMappingProvider<User>
{
    public override void DefineModel( DbModelBuilder modelBuilder )
    {
        // adds ToTable and other general mappings
        base.DefineModel( modelBuilder );

        Map.Property( e => e.MemberStatusValue ).HasColumnName( "MemberStatus" );
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的存储库中,我有以下方法:

public IQueryable<T> Query( Expression<Func<T, …
Run Code Online (Sandbox Code Playgroud)

c# reflection entity-framework expression-trees entity-framework-4.1

17
推荐指数
1
解决办法
1470
查看次数

选择CMS vs Portal与MVC +组件?

我需要一些帮助来确定为我的最新项目使用CMS或门户解决方案是否是一个好主意,这是(当前)一个必须为多个客户服务的ASP.NET MVC应用程序(作为公司或其他实体)来自单个安装(即SaaS解决方案)的用户列表.

除了核心功能,包括文档管理/发布,我还需要提供基本的社交功能(如博客,论坛,图库,民意调查等).但是,内容仅对其所属的客户可见是必要的,我对一堆CMS和门户解决方案的评估几乎没有说明它们是否支持这一点.他们非常关注单用户安装,有关如何与现有MVC解决方案集成的文档相当薄.

基本上我正在寻找一些指导,以帮助我放弃死端选项(产品不符合要求,施加太多限制,不成熟等),并在项目过于先进之前找到未开发的选项.

我对架构的要求包括:

  • 多站点支持(使用单个域进行托管)
    • 客户之间内容的水密分离
  • 跨组件/功能的完全集成
    • SSO(单点登录)
    • 单站点体验(共享页眉/页脚,统一导航,统一标签等)
  • 易于开发和部署
    • 自定义逻辑将使用C#和ASP.NET MVC编写,任何产品都应支持此功能
  • 我想保持控制
    • 解决方案应该提供功能,但在其他方面保持不受影响(例如,不要强迫我使用愚蠢的习语,比如坚持主键的GUID)
  • 积极发展社区
    • 没有单人的努力
    • 最近的源控制活动
    • 合理的文档和成熟度
    • 不必是开源的

我花了相当多的时间来评估产品和组件,我将在此简要分享一下:

  • 一把umbraco
    • 不支持ASP.NET MVC(但是,有人必须以其他方式发表评论)
    • 伟大的社区支持,积极发展
    • 似乎有很多工作要开始
  • Kooboo
    • 没有源活动(近两个月没有更新)
    • GPL许可?(需要允许闭源应用程序的东西)
  • N2CMS
    • 部分ASP.NET MVC支持
    • 每个客户都必须有一个单独的域
    • 有限的来源活动(不死但不活跃)
  • 果园
    • 微软赞助(这意味着它可能过度架构,代码膨胀且速度慢,尽管它确实有一些众所周知且受人尊敬的贡献者/潜在客户)
    • 使用ASP.NET MVC构建
    • 看起来很有前途(但在这个阶段不太可能稳定)
  • AtomSite
    • 感觉相当成熟并且有很好的文档,尽管有漏洞
    • 使用ASP.NET MVC构建
    • 有限的源活动,单个开发人员
  • MojoPortal
    • 看起来很适合门户网站,但可能需要将定制逻辑构建为产品周围的模块(我希望尽可能避免这种锁定)
  • DotNetNuke(DNN),CommunityServerMicrosoft Office SharePoint Server(MOSS)
    • 绝对不是我的一杯茶;)
  • BlogEngine.NET
    • 成熟且功能齐全
    • 没有ASP.NET MVC支持
    • 集成可能但不是没有很多Web.config voodoo
    • 不确定它是否支持客户分离

鉴于上面的列表,我倾向于AtomSite,N2CMS,Orchard或BlogEngine.NET.如果我选择后者,我将使用jitbit AspNetForum,这非常适合我的需求.

我可能更喜欢使用自定义ASP.NET MVC解决方案和单个组件,因为这可能会给我最大程度的控制,但另一方面,它会使网站主题和集成更加困难.您尝试了哪些组合,什么运作良好,哪些没有?我遗漏了什么重要的评价?还有其他相关建议吗?

如果答案不仅仅是对您最喜欢的产品或做事方式的认可,我会很感激,但有些东西可以帮助我根据上述要求选择或消除候选解决方案.

c# asp.net-mvc components portal content-management-system

15
推荐指数
1
解决办法
3299
查看次数

如何在执行Web请求时指定仅连接超时?

我目前正在使用使用HttpClient类发出HTTP请求的代码.虽然您可以为请求指定超时,但该值适用于整个请求(包括解析主机名,建立连接,发送请求和接收响应).

如果他们无法解析名称或建立连接,我需要一种方法使请求快速失败,但我有时也需要接收大量数据,因此不能只是减少超时.

有没有办法使用内置(BCL)类或备用HTTP客户端堆栈来实现此目的?

我简要地看了一下RestSharp和ServiceStack,但似乎都没有为连接部分提供超时(但如果我错了,请纠正我).

c# httpwebrequest dotnet-httpclient

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

如何找出Visual Studio扩展导致内存泄漏的内容?

我的Visual Studio(2010 SP1)有严重的内存泄漏,它似乎是由一个或多个已安装的扩展引起的.

我试图通过打开和关闭扩展和附加组件来缩小范围,但是需要花费一些时间来构建重大泄漏,结果并不完全是结论性的.在devenv.exe进程使用2GB内存并开始丢弃之前,它很少需要几个小时,这对于使用起来有点麻烦.

有没有办法让VS在为扩展分配的内存上发出信息?

托管扩展是否在自己的AppDomain中运行?也许这会让我打开一些可以帮助查明问题的性能计数器.

还有什么我可以解决这个问题,除了逐个禁用东西,直到问题消失?

memory-leaks visual-studio-2010 visual-studio-extensions

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

如何在ASP.NET MVC项目中为knockout生成客户端视图模型?

我目前正在开发一个ASP.NET MVC解决方案,最近又推出了Knockout(MVVM JS库)和Wijmo(一组jQuery UI小部件).

随着Knockout的引入,我还需要在客户端有模型,所以为了这个目的,我正在序列化C#ViewModel并使用它将它附加到视图data-model="@Model.ToJson()".这允许我从JS检索模型并对一切应用一些客户端的爱.

但是,knockout需要一切都是可观察的,所以我需要声明一个单独的客户端ViewModel并映射数据模型对象的所有内容.这感觉非常像重复的努力,我想以某种方式避免它.

我希望有人有一个共享的工具或技术,这将允许我直接从服务器渲染淘汰ViewModel.可能的解决方案包括:

  • 自定义JSON序列化,以将可观察视图模型直接呈现给data-model属性中的输出.
  • 自动客户端转换(我听说过ko-autobind,但我不确定它是否是推荐的路径或者它是如何稳定/完整的)
  • 我没有想到的东西

我希望解决方案是通用的和自动的,因为我目前用手工输入可观察的客户端视图模型的方法实在是太没用了.

你是怎么解决这个问题的?

javascript c# asp.net-mvc mvvm knockout.js

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

在ASP.NET MVC 4(beta)中是否破坏了HTML-5 data-*属性的使用?

根据这个问题,我应该能够写出这样的东西:

@Html.ActionLink( "Delete", "Delete", "Message", new { data_id=id, @class="delete" } )
Run Code Online (Sandbox Code Playgroud)

或者作为一个快乐的T4MVC用户可以做到:

@Html.ActionLink( "Delete", MVC.Message.Actions.Delete(), new { data_id=id, @class="delete" } )
Run Code Online (Sandbox Code Playgroud)

并在渲染期间替换"data_id"中的下划线:

<a href="/message/delete" class="delete" data-id="42">Delete</a>
Run Code Online (Sandbox Code Playgroud)

但是,这似乎不适用于MVC 4测试版.其他人看到这个问题?

这是故意改变,如果是,我该怎么办?

更新 - 如何修复(手动)

我已将以下更改应用于T4MVC.tt文件,该文件修复了生成的代码中的问题:

public static MvcHtmlString ActionLink(this HtmlHelper htmlHelper, string linkText, ActionResult result, object htmlAttributes, string protocol = null, string hostName = null, string fragment = null) {
    //was: return ActionLink(htmlHelper, linkText, result, new RouteValueDictionary(htmlAttributes), protocol, hostName, fragment);
    return htmlHelper.RouteLink(linkText, null, protocol, hostName, fragment, result.GetRouteValueDictionary(), HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes));
}
Run Code Online (Sandbox Code Playgroud)

更新2 …

c# asp.net-mvc html5 asp.net-mvc-4

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