Angular.js和ASP.NET MVC正确的绑定策略

时间:2015-10-20 20:44:36

标签: javascript c# angularjs asp.net-mvc model-view-controller

W 不太了解为什么,我正在开发一个小应用程序,它将对服务器端MS Access(mdb)文件执行一些简单的读/写操作(此处插入动画),但是我可以使用多个mdb文件。我想要做的是向用户显示可以打开的mdb文件的下拉列表。他们选择的那个将成为&#34;活跃的&#34;数据库。它很简单,为他们提供了一个下拉mdb选项,例如<select ng-options="season.name for season in seasonsCtrl.seasons" ng-model="season" ng-change="seasonsCtrl.getComps(season)"></select>这些数据通过 $http.get 从我的角度SeasonsController中拉回来。然而,这是一个有点棘手的地方,我想填充另一个下拉列表,使用基于所选数据库文件的comps。仍然有点简单,你可以看到我使用ng-change,并通过另一个$http.get方法再次传递season.name var,我可以下拉comps,这有效{{1}然而,当我去参加第三次(也是最后一次)与该组合中的球队的比赛时,我希望传入补偿,但这里存在问题,我不再传递赛季文件了,所以我的ASP.NET MVC控制器不知道打开和使用的季节(与每个请求一样,控制器被创建/销毁)。 <select ng-options="(comp.hTeam.abbrev + ' vs ' + comp.vTeam.abbrev + ' at ' + comp.arena) for comp in seasonsCtrl.comps" ng-change="seasonsCtrl.getTeams(comp)" ng-model="comp"></select>

我一直在考虑这个想法,并且有一些粗略的想法,但我不确定要走哪条路,或者是否有一个完全彻底更好的方法让我失踪?

创意1

在我的季节ng-change方法中,下拉一个更复杂的json对象,它包含我需要的所有数据。 ex json ......

<select ng-options="team.abbrev for team in seasonsCtrl.teams" ng-model="team"></select>

不确定绑定语法的确切含义

专业我拥有我需要的所有数据 con 比我需要的数据更多

想法2

在服务器端创建类似的路由方法......

  {
      "name": "test",
      "comps": [
        {
          "comp1": {
            "teams": [
              "team1"
              :
              {
                "id": 5,
                "abbrev": "t1"
              },
              "team2":{
                "id": 89,
                "abbrev": "t1000"
              }
            ]
          }
        }
      ]
    }

呼叫类似于......

http://localhost:13102/api/Season/Demo99/GetComps 和 的 http://localhost:13102/api/Season/Demo99/GetTeamps?comps=t

想法3

以某种方式缓存活动数据库服务器端...不完全是无状态的,但这是一个范围非常小的应用程序,用户数量非常有限(如2)

我遇到的一个整体问题是将数据绑定到影响其他下降数据的下拉的最佳方法是什么?在config.Routes.MapHttpRoute( name: "SeasonApi", routeTemplate: "api/Season/{season}/{action}", defaults: new { controller = "Season", id = RouteParameter.Optional } ); 上做$http.get ..对我来说似乎不对?我有一些难以在谷歌搜索中描述问题甚至找到更好的资源。

感谢您的帮助......

0 个答案:

没有答案
相关问题