asp.net-mvc-3 – 在Asp.net MVC中为optgroup功能使用Helper代码
发布时间:2020-05-23 22:57:06 所属栏目:asp.Net 来源:互联网
导读:我没有与Helpers合作的经验,所以我有点不习惯使用手头的代码. 我的要求很简单,我需要的只是DropDownListFor扩展方法中的optgroup功能.在搜索时,我遇到了这个Answer,并将其复制到名为MyExtensionClass.cs的文件中. 但是,我不知道如何使用它或调用此中定义的扩
|
我没有与Helpers合作的经验,所以我有点不习惯使用手头的代码. 我的要求很简单,我需要的只是DropDownListFor扩展方法中的optgroup功能.在搜索时,我遇到了这个Answer,并将其复制到名为MyExtensionClass.cs的文件中. 但是,我不知道如何使用它或调用此中定义的扩展方法.请告诉我如何在列表中使用它. 现在,以下是我想要使用扩展方法的选择列表的控制器代码. ViewBag.ParentCategoryId = new SelectList(db.Categories,"Id","Name"); 这是我的观看代码 @Html.DropDownListFor(model => model.Product.CategoryId,(IEnumerable<SelectListItem>)ViewBag.CategoryId,"---Choose Category---",new { @class = "required" })
请帮我升级到optgroup的扩展方法. 解决方法我们使用Serge Zab的帮助器进行optgroup下拉.这是一个示例:视图模型: public class OurViewModel
{
public int? TypeId { get; set; }
public IEnumerable<GroupedSelectListItem> GroupedTypeOptions { get; set; }
}
控制器: public ActionResult Add()
{
var model = new OurViewModel
{
// fill with initial values
};
PutTypeDropDownInto(model);
return View(model);
}
[NonAction]
private void PutTypeDropDownInto(OurViewModel model)
{
model.GroupedTypeOptions = _repos.GetTypes()
.OrderBy(t => t.Category.EnglishName).ThenBy(t => t.EnglishName)
.Select(t => new GroupedSelectListItem
{
GroupKey = t.Category.RevisionId.ToString(),GroupName = t.Category.EnglishName,Text = t.EnglishName,Value = t.RevisionId.ToString()
}
);
}
风景 @Html.DropDownGroupListFor(m => m.TypeId,Model.GroupedTypeOptions,"[Select a type]") 请注意,您不能使用常规SelectList.您必须使用他的GroupedSelectListItem类的集合.此外,我们的解决方案不使用viewbag.下拉列表在viewmodel上强列入. 更新 要使html助手在您的视图中工作,视图需要能够找到它.您可以使用MyExtensionClass.cs命名空间在视图顶部添加@using指令,也可以将命名空间添加到特定于视图的web.config中,如下所示: <pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="Microsoft.Web.Mvc" />
<add namespace="Namespace.For.MyExtensionClass" />
</namespaces>
</pages> (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 在与页面相同的文件夹中使用用户控件
- 在ASP经典中编写JavaScript
- ASP.NET MVC表单和双字段
- asp.net – WebForm_DoPostBackWithOptions没有使用chrome定
- asp.net-web-api2 – 创建新的IHttpActionResult动作结果方
- asp.net-web-api – 无法识别Web Api [可查询]属性
- asp.net-mvc – Visual Studio 2015 – ASP.Net应用程序将不
- ASP.net WebAPI跨域调用问题的解决方法
- asp.net-mvc – Kendo UI异步上传无法在Internet Explorer中
- 白屏问题,如果用户在asp.net页面中保持空闲状态
推荐文章
站长推荐
- asp.net-mvc – 如何使用Windsor将依赖项注入到A
- asp.net – post文件提供404页面结果,即使发布的
- 修改FCKEditor实现将图片、文件等保存到数据库
- ASP.NET linkbutton两次提高onBeforeUnload事件
- asp.net-mvc – .NET MVC / Entity Framework应用
- asp.net-mvc – 为什么在Asp.net MVC 2中的子操作
- asp.net-mvc – asp.net mvc – 子文件夹
- asp.net-mvc-3 – 方法“OrderBy”必须在方法“跳
- asp.net-mvc – 根据需要处理ASP.NET MVC可选字段
- asp.net-mvc – 在自定义授权属性中覆盖Authoriz
热点阅读
