asp.net-mvc – MVC 3布局页面,Razor模板和下拉列表
发布时间:2020-07-21 22:04:14 所属栏目:asp.Net 来源:互联网
导读:我想在我的网站的所有页面包括一个下拉列表的年。我假设一个好的地方放这个逻辑是在布局页面(_layout.cshtml)。如果用户更改我想要更改年会话(ModelBinder)的年份,也要更改。这是很容易做ASP.NET web表单,但似乎几乎不可能做到在MVC。我试着没有运气的局部
我想在我的网站的所有页面包括一个下拉列表的年。我假设一个好的地方放这个逻辑是在布局页面(_layout.cshtml)。如果用户更改我想要更改年会话(ModelBinder)的年份,也要更改。这是很容易做ASP.NET web表单,但似乎几乎不可能做到在MVC。我试着没有运气的局部视图。任何人有任何想法? 解决方法像往常一样,你可以从定义视图模型开始:public class YearsViewModel { public string Year { get; set; } public IEnumerable<SelectListItem> Years { get { return new SelectList( Enumerable.Range(1900,112) .OrderByDescending(year => year) .Select(year => new SelectListItem { Value = year.ToString(),Text = year.ToString() } ),"Value","Text"); } } } 然后一个控制器: public class YearsController : Controller { public ActionResult Index() { return View(new YearsViewModel()); } [HttpPost] public ActionResult Index(int year) { // TODO: do something with the selected year return new EmptyResult(); } } 以及索引操作的相应视图: @model SomeAppName.Models.YearsViewModel @{ Layout = null; } @Html.DropDownListFor(x => x.Year,Model.Years) 最后在你的_Layout.cshtml里面你可以使用这个控制器: <div id="selectyear">@Html.Action("index","years")</div> 并附加相应的脚本,当值发生更改时,将发送AJAX请求: $(function () { $('#selectyear select').change(function () { $.post('@Url.Action("index","years")',{ year: $(this).val() },function (result) { }); }); }); (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-core – 在Visual Studio CTP2中的ASP.VNext项目中
- ASP.net Substitution 页面缓存而部分不缓存的实现方法
- asp.net-mvc – Gzip压缩无法运行ASP.net MVC5
- asp.net-mvc – 使用Razor视图引擎 – 如何格式化十进制值以
- entity-framework-4 – 当超出范围时,Ninject不调用对对象的
- asp.net-mvc – SSL安全SaaS应用程序的URL设计
- asp.net – 检查.NET中两个双精度相等的问题 – 这个方法有
- asp.net Xml绑定到数据控件的具体实现
- iis-7 – ASP 3.0应用程序对象
- asp.net-mvc – 在asp.net mvc中启动一组未选中的radiobutt
推荐文章
站长推荐
- entity-framework – 如果EF 5,如何定义自定义命
- ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies
- 优化 – 字典/客户端VS应用程序变量
- webforms – ASP.Net Core 1.0是否支持WebForm项
- asp.net-mvc – 在IIS Express中测试SignalR应用
- asp.net – FF和IE不从CSS加载img src
- asp.net核心 – 如何排除在ASP.NET Core中发布文
- 在asp.net中将用户变量存储在数据库与会话中
- ASP.NET MVC编辑器模板和Html.EditorFor(…) –
- Asp.net超链接控件相当于
热点阅读