asp.net-mvc – MVC 3布局页面,Razor模板和下拉列表
发布时间:2020-07-21 20:01:25 所属栏目: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使用DataTable构造Json字符串的方法
- 如果我的Asp.Net会话有IsNewSession == true,那我的意思是什
- kendo-ui – 剑道网格刷新(数据绑定两次)
- 来自ASP.NET MVC站点的“无效的JSON原语:alihack”错误
- asp.net – axd和ashx处理程序之间的区别
- MVC学习二:基础语法
- asp.net-mvc – ASP.NET MVC:Action中的授权 – 建议的模式
- asp.net-mvc – 未在ELMAH中记录的错误
- asp.net-mvc – 值不能为空或为空.参数名称:contentPath
- ASP.NET -- WebForm -- 页面生命周期事件
推荐文章
站长推荐
- ASP.NET微信公众号用于给指定OpenId用户发送红包
- asp.net-mvc-3 – 在同一父视图上多次使用一个部
- asp.net – 在Application_BeginRequest中设置会
- ASP.NET网站管理系统退出 清除浏览器缓存,Sessio
- IIS和ASP.Net Web开发服务器之间的行为差异?
- asp.net – 应用程序池在iisreset之后无法启动
- asp.net-mvc – 为什么MVC4捆绑捆绑Knockout.js?
- asp.net-mvc – 删除布局将默认为_ViewStart,为什
- ASP.NET 2.0和4.0似乎在Forms身份验证中以不同方
- ASP.NET两个截取字符串的方法分享
热点阅读
