今天使用angularjs的ng-options实现一个DropDownList下拉列表。

准备ASP.NET MVC的model:

 public class MobilePhone
{
public int ID { get; set; } public string Name { get; set; }
}

Source Code

接下来,还得准备Entity:

 public IEnumerable<MobilePhone> MobilePhones()
{
return new List<MobilePhone>()
{
{new MobilePhone() { ID = , Name = "华为" }},
{new MobilePhone() { ID = , Name = "苹果" }},
{new MobilePhone() { ID = , Name = "小米" }},
{new MobilePhone() { ID = , Name = "中兴" }}
};
}
}

Source Code

创建ASP.NET MVC的Controller,一个是视图Action,另一个是数据Action:

 public class PhoneController : Controller
{
// GET: Phone
public ActionResult Index()
{
return View();
} public JsonResult GetMobilePhones()
{
MobilePhoneEntity mpe = new MobilePhoneEntity();
var model = mpe.MobilePhones();
return Json(model, JsonRequestBehavior.AllowGet);
}
}

Source Code

最后,我们需要准备一个angularjs的Controller:

pilotApp.controller('PhoneCtrl', ['$http', '$location', '$rootScope', '$scope',
function ($http, $location, $rootScope, $scope) {
var obj = {}; $http({
method: 'POST',
url: '/Phone/GetMobilePhones',
dataType: 'json',
headers: {
'Content-Type': 'application/json; charset=utf-8'
},
data: JSON.stringify(obj),
}).then(function (response) {
$scope.Phones = response.data;
}); }]
);

Source Code

不管是ASP.NET MVC还是AngularJs程序代码均准备好,现在我们需要在ASP.NET MVC视图实现下拉列表:

@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
} <div ng-app="PilotApp" ng-controller="PhoneCtrl">
<select ng-model="ddlPhones" ng-options="MobilePhone.Name for MobilePhone in Phones"></select>
</div> <script src="~/Angularjs/app.js"></script>
<script src="~/Angularjs/PhoneController.js"></script>

Source Code

上面有句ng-options绑定的表达式中,名词所来自何处,可参考下图指示:

动态效果演示:

ASP.NET MVC下使用AngularJs语言(三):ng-options的更多相关文章

  1. ASP.NET MVC下使用AngularJs语言(六):获取下拉列表的value和Text

    前面Insus.NET有在Angularjs实现DropDownList的下拉列表的功能.但是没有实现怎样获取下拉列表的value和text功能. 下面分别使用ng-click和ng-change来实 ...

  2. ASP.NET MVC下使用AngularJs语言(一):Hello your name

    新春节后,分享第一个教程. 是教一位新朋友全新学习ASP.NET MVC下使用AngularJs语言. 一,新建一个空的Web项目.使用NuGet下载AngularJs和jQuery.二,配置Bund ...

  3. ASP.NET MVC下使用AngularJs语言(五):ng-selected

    这次学习ng-selected语法,这个是为DropDownList下拉列表显示默认选项. 演示从下面步骤开始 1,新建一个model: 上面#14行代码的property,数据类型为bool.即是存 ...

  4. ASP.NET MVC下使用AngularJs语言(二):ng-click事件

    程序用户交互,用户使用mouse点击,这是一个普通的功能. 在angularjs的铵钮点击命令是ng-click. 创建Angularjs的app使用前一篇<ASP.NET MVC下使用Angu ...

  5. ASP.NET MVC下使用AngularJs语言(八):显示html

    在Angularjs显示html文本,如果按照一般处理它.它只能页中显示没经解释文本. 在ASP.NET MVC添加一个控制器: 创建angularjs控制器: pilotApp.controller ...

  6. ASP.NET MVC下使用AngularJs语言(七):Cookie的使用

    网站开发,使用Cookie对暂存数据进行读写,可以使用C#,javascript,jQuery,也可以使用angularjs等等来读写...... 本篇实现angularjs环境之下对Cookie时行 ...

  7. ASP.NET MVC下使用AngularJs语言(四):$window.alert

    判断文本框是否有填写,没有填写使用angularjs的$window.alert来提示用户. 创建一个ASP.NET MVC控制器: 接下来是准备一个angularjs的控制器: pilotApp.c ...

  8. ASP.NET MVC下使用AngularJs语言(九):日期时间处理与显示

    当在angularjs去显示一个时间时,如原原本本去显示这个值,它将显示一个怪怪的字符串,其实它就是被系列化json之后的字符串.如:一个空值显示为日期时间: 如果非空值显示为日期时间的情形: 为了能 ...

  9. asp.net mvc下的多语言方案 包含Html,Javascript和图片

    在网上查阅了众多方案,觉得路过秋天的方案 解耦性比较好,可以不使用微软的Resource文件,而是将所有的词汇放入在一个txt的词典之中,便于维护. 步骤如下: 1)在整个程序的入口处global.a ...

随机推荐

  1. django之normalize函数的功能

    from django.utils.regex_helper import normalize pat=r'^(?P<id>\d+)/(?P<name>\d+)$' bits= ...

  2. RestExpress response中addHeader 导致stackOverflow

    问题描述: 最近在项目使用中要在restExpress的header中增加一个键值对,同事在使用的时候没有对header的value进行非空判断,于是在测试环境测试的时候就出现了一个异常

  3. canvas 2.0

    了解 虽然大家都称Canvas为html5的新标签,看起来好像Canvas属于html语言的新知识,但其实Canvas画图是通过javascript来做的.所以,如果你想学习Canvas画图,你必须要 ...

  4. JMeter处理返回结果unicode转码为中文

    问题举例: { "ServerCode":"200","ServerMsg":"\u6210\u529f"," ...

  5. 面试小结之Elasticsearch篇(转)

    最近面试一些公司,被问到的关于Elasticsearch和搜索引擎相关的问题,以及自己总结的回答. Elasticsearch是如何实现Master选举的? Elasticsearch的选主是ZenD ...

  6. MySQL的show profile(已过时)简介以及该功能在MySQL 5.7中performance_schema中的替代

    本文出处:http://www.cnblogs.com/wy123/p/6979499.html show profile 命令用于跟踪执行过的sql语句的资源消耗信息,可以帮助查看sql语句的执行情 ...

  7. C++ 下面的AIDL

    转自https://android.googlesource.com/platform/system/tools/aidl/+/brillo-m10-dev/docs/aidl-cpp.md. Bac ...

  8. springboot读取配置注解@ConfiguratioinProperties和@Value的区别

  9. 服务器解析慢,可以安装nscd解决

    针对服务器解析慢,可以在服务器上安装nscd,就可以把解析缓存起来,不用每次都解析 安装nscd: yum -y install nscd chkconfig nscd on service nscd ...

  10. 利用CCS3渐变实现条纹背景

    本文摘自<CSS揭秘>中国工信出版集团 难题: 不论是在网页设计中,还是在其他传统媒介中(比如杂志和墙纸等),各种尺寸.颜色.角度的条纹图案在视觉设计中无处不在.要想在网页中实现条纹图案, ...