小编Que*_*Que的帖子

Angular.js和ASP.NET MVC 4

我有一个ASP.NET MVC 4项目,我一直坚持使用Angular.js或Knock.js的JavaScript框架或库的架构决策.我目前倾向于使用Angular.js而不是Knockout.js,但是我不想在项目开发过程中发现我犯了一个错误.

这是一些背景:

  • 我们需要双向模型数据绑定
  • 我们需要能够测试视图.我希望能够进行端到端的单元测试.此外,我们正在使用持续集成.
  • "保存更改"功能.即,如果用户在页面上进行更改,我们需要能够检测到任何更改并提示用户在离开页面之前保存更改
  • "通知"功能.即用户将在大约8小时内登录,并且需要通知并更新其他用户所做的更改(错误,数据状态更改等)
  • 我们需要"未来证明"我们的申请.目前业务部门还没有决定是否需要支持移动设备,但我知道这只是时间问题.
  • 我们的团队由从初级到高级开发人员的不同经验水平的开发人员组成.
  • 目前我们的模型很复杂,可能会更加复杂
  • 我们还需要考虑RAD,代码重用和可维护性

我已阅读优秀的答案在这里,看着斯科特·艾伦的采访时谈到角在这里

由于我们无法从当前的ASP.NET MVC 4体系结构更改为在Web服务器端使用某些内容,因此我尝试使用MVC 4实现Angular.js时会遇到一些问题.这会导致我们有两个模型服务器和客户端上的服务器?

我不是在寻找关于Angular和Knockout的"哪个更好"的讨论,因为我认为它们都有它们的优点和缺点.我正在寻找在ASP.NET MVC 4应用程序中实现JavaScript框架或库的实际代码.我需要一个解决方案,我可以用2年多的时间来生活:)

任何想法或建议?也许答案不是Knock或Angular,而是其他一些JavaScript框架?

javascript javascript-framework asp.net-mvc-4 angularjs knockout.js

73
推荐指数
3
解决办法
4万
查看次数

将Crosswalk添加到Ionic后,Android Build失败了

对Ionic添加Crosswalk感到兴奋,现在我的项目无法构建.在更新和添加Crosswalk之前,该项目正在编译和工作.有任何关于我如何纠正下面的错误的建议吗?我不想回滚.谢谢版本控制:)

系统信息:

  • 操作系统:Windows 8
  • 节点版本:v0.10.32
  • Cordova CLI:4.2.0
  • 离子版:1.0.0-beta.14
  • 离子CLI版本:1.3.1
  • AngularJS v1.3.8

警告[Project :: org.apache.cordova.engine.crosswalk:382300-xwalk_core_library]不推荐使用当前的NDK支持.将来会提供替代方案.

:mergeDebugResourcesC:\ Users\platforms\android\build\intermediates\explosion-aar\android.org.apache.cordova.engine .crosswalk\rsgapp382300-xwalk_core_library\unspecified\debug\res\drawable-hdpi-v4\color_picker_advanced_select_handle.png

错误:无法打开PNG文件

错误:无法运行命令:C:\ Users\AppData\Local\Android\sdk\build-tools\21.0.2\aapt.exe si C:\ Users\platforms\android\build\intermediates\explosion-aar\android .org.apache.cordova.engine.crosswalk 382300-xwalk_core_library\unspecified\debug\res\drawable-hdpi-v4\color_picker_advanced_select_handle.png -o C:\ Users\platforms\android\build\intermediates\res\debug\drawable- HDPI-V4\color_picker_advanced_select_handle.png

错误代码:42

输出:C:\ Users\platforms\android\build\intermediates\explosion-aar\android.org.apache.cordova.engine.crosswalk382300-xwalk_core_library\unspecified\debug\res\drawable-hdpi-v4\color_pick er_advanced_select_handle.png

错误:无法打开PNG文件

:mergeDebugResources FAILED

FAILURE:构建因异常而失败.

出了什么问题:任务':mergeDebugResources'执行失败.

错误:无法运行命令:C:\ Users\AppData\Local\Android\sdk\build-tools\21.0.2\aapt.exe s -i C:\ Users\platforms\android\build\intermediates\explosion-aar\android.org.apache.cordova.engine.crosswalk 382300-xwalk_core_library\unspecified\debug\res\drawable-hdpi-v4\color_picker_advanced_select_handle.png -o C:\ Users\platforms\android\build\intermediates\res\debug \提拉 - HDPI-V4\color_picker_advanced_select_handle.png

错误代码:42

输出:C:\ Users\platforms\android\build\intermediates\explosion-aar\android.org.apache.cordova.engine.crosswalk382300-xwalk_core_library\unspecified\debug\res\drawable-hdpi-v4\color_picker_advanced_select_handle.png

错误:无法打开PNG文件

android cordova ionic-framework crosswalk-runtime

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

MOQ错误模拟一次的预期调用,但是是0次

我是MOQ的新手,我在这里阅读了快速入门.我使用的是MOQ v4.2.1402.2112.我正在尝试创建一个单元测试来更新人物对象.该UpdatePerson方法返回更新的人物对象.有人能告诉我如何纠正这个问题吗?

我收到此错误:

Moq.MockException was unhandled by user code 
HResult=-2146233088
Message=Error updating Person object
Expected invocation on the mock once, but was 0 times: svc => svc.UpdatePerson(.expected)
Configured setups: svc => svc.UpdatePerson(It.IsAny<Person>()), Times.Never
No invocations performed.
  Source=Moq
  IsVerificationError=true
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

    [TestMethod]
    public void UpdatePersonTest()
    {
        var expected = new Person()
        {
            PersonId = new Guid("some guid value"),
            FirstName = "dev",
            LastName = "test update",
            UserName = "dev@test.com",
            Password = "password",
            Salt = "6519",
            Status = (int)StatusTypes.Active
        }; …
Run Code Online (Sandbox Code Playgroud)

unit-testing moq

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

离子平台就绪事件发生两次

有谁知道如何防止事件发射两次?我已经尝试使用控制器范围级别布尔变量来查看事件是否已经触发,但它不起作用.这就像事件在2个单独的线程上触发,变量始终为false.

在下面的代码中,$ ionicPlatform.ready事件被触发两次,但我无法弄清楚为什么.我正在使用当前版本的Ionic Framework离子-v1.0.0-beta.13.

angular.module('rsgApp.controllers', [])
.controller('MapCtrl', ['$ionicPlatform', 
function ($ionicPlatform) {  
    var vm = this;

    $ionicPlatform.ready(function () {
        alert('device is ready');
    });

 }]);
Run Code Online (Sandbox Code Playgroud)

angularjs ionic-framework

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

angular-google-maps中心缩放多个标记

我正在将AngularJS用于Google地图,并希望根据动态加载的多个标记动态居中和缩放地图.这适用于使用Ionic FrameworkCordova应用程序.

这是我的观点:

<ion-view title="" ng-controller="MapCtrl as vm">
 <ion-content class="padding">
  <google-map id="mainMap" control="vm.googleMap" draggable="true" center="vm.map.center" zoom="vm.map.zoom" mark-click="false">
      <markers idKey="mainMap" fit="vm.map.fit">
          <marker idKey="marker.id" ng-repeat="marker in vm.map.markers" coords="marker.coords" options="marker.options">
              <marker-label content="marker.name" anchor="2 0" class="marker-labels"/>
          </marker>
      </markers>
  </google-map>
 </ion-content>
</ion-view>
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

angular.module('myApp.controllers', [])

.controller('MapCtrl', function($scope, $ionicPlatform) {
 var vm = this;
 vm.googleMap = {}; // this is filled when google map is initialized, but it's too late
 vm.mapMarkers = [];

 vm.arrMarkers = [
    {
        id: "home",
        name: …
Run Code Online (Sandbox Code Playgroud)

google-maps-api-3 angularjs cordova-3 ionic-framework angular-google-maps

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

绑定WebGrid表单AJAX

我是MVC3和Razor的新手,一旦从AJAX帖子返回数据,我需要帮助绑定/加载WebGrid.真的很感激任何帮助(项目到期日快速接近);)

我的情况是这样的:我有两个级联下拉列表.第一个列表包含数据库中的区域.选择一个区域后,它会使用一系列设施填充第二个下拉列表.选择设施后,我需要使用建筑物列表填充WebGrid.我有级联下拉正常工作

Index.cshtml:

@using ThisController = MyProject.Controllers.BuildingModelsController
@model IEnumerable<MyProject.Models.BuildingModel>

<div id="tabs-2">
    <!-- Current Buildings -->
    @{ 
        if (Model != null && Model.Count() > 0)
        {                            
            var grid = new WebGrid(source: Model, rowsPerPage: ThisController.PageSize, ajaxUpdateContainerId: "tabs-2", defaultSort: "BuildingNumber");
            grid.Bind(Model, rowCount: Model.Count(), autoSortAndPage: false);
            grid.Pager(WebGridPagerModes.All);

            grid.GetHtml(
                tableStyle: "display",
                alternatingRowStyle: "alt",
                columns: grid.Columns(
                //grid.Column(format: (item) => Html.ActionLink("Edit", "Edit", new { EmployeeID = item.EmployeeID, ContactID = item.ContactID })),
                grid.Column("BuildingNumber", header: "Building Number"),
                    grid.Column("ConstructionDate", header: "Construction Date"),
                    grid.Column("ExtSquareFeet", header: "Exterior Sq. Ft."),
                    grid.Column("IntSquareFeet", header: "Interior …
Run Code Online (Sandbox Code Playgroud)

c# json webgrid razor asp.net-mvc-3

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