ASP.NET MVC:使用LINQ To SQL获取表单复选框到多对数DB assoc表的最佳方法?
发布时间:2020-05-30 06:32:22 所属栏目:asp.Net 来源:互联网
导读:我有一个ASP.NET MVC视图,其中包含用户定义类别的复选框. td% foreach (Category c in (ListCategory)ViewData[cats]) { if (selCats.ContainsKey(c.ID)) { % input name=CategoryIDs type=checkbox value=
|
我有一个ASP.NET MVC视图,其中包含用户定义类别的复选框. <td><% foreach (Category c in (List<Category>)ViewData["cats"]) {
if (selCats.ContainsKey(c.ID)) { %>
<input name="CategoryIDs" type="checkbox" value="<%=c.ID %>" checked="checked" /> <%= c.Name%><% }
else { %>
<input name="CategoryIDs" type="checkbox" value="<%=c.ID %>" /> <%= c.Name%> <% } %>
<% } %>
</td>
表单发布到以下控制器操作: [AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id,int [] CategoryIDs)
{
PostsDataContext db = new PostsDataContext();
var post = db.Posts.Single(p => p.ID == id);
UpdateModel(post,new[] { "Title","Subtitle","RawContent","PublishDate","Slug" });
db.SubmitChanges();
return Redirect("/archives/" + post.Slug);
}
表单复选框将被转换为整数ID“CategoryID”的数组,每个数组表示所选类别.然后我想把它们放在一个包含两列的关联表中:PostID和CategoryID.这用于设置帖子和类别之间的多对多关联. 目前,我强烈推荐:循环遍历类别,并为每个类别添加一行到包含类别ID的关联表以及它所属的帖子的ID. 但是我想知道在ASP.NET MVC和LINQ to SQL的上下文中是否有更清洁的方法自动执行此操作? 谢谢! 解决方法我想你正在做的很好,我唯一要说的是,如果你不想循环ID,你可以在“InsertAllOnSubmit”的同时添加它们(即使这是真的只是循环):int[] categoryIDs = new int[] { 0,1,2 };
dataContext.PostCategories.InsertAllOnSubmit(
categoryIDs.Select(id =>
new PostCategory
{
CategoryID = id,PostID = myPostID
})
);
但是无论如何,这仍然只是做了你所拥有的一样. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 如果页面上有异常,则输出缓存无效
- asp.net-mvc-3 – 从JsonResult MVC3 / Razor中动态显示表/
- asp.net-mvc – 我如何moq aingleingleResult?我是不是该?
- 如何配置asp.net与.net 4.5
- asp.net-mvc-3 – R#6 – 在剃刀视图中建议“使用目录”.如
- asp.net – 不支持每种类型的多个对象集.对象集’Applicati
- asp.net-mvc – 从Visual Studio 2015 Update 1 RC恢复
- ASP.NET machineKey配置部分默认位置
- asp.net – 使用主题的css文件需要在页面上的头控件 (例如)
- asp.net-mvc – ASP.NET MVC 3:RouteExistingFiles = true
推荐文章
站长推荐
- asp.net-mvc – 数据库中已经有一个名为“AspNet
- 实体框架 – 实体框架UnintentionalCodeFirstExc
- ASP.NET网站或Web项目
- asp.net – app_offline.htm在生产框中抛出HTTP
- asp.net – IIS 7如何使用数据库中的用户帐户映射
- asp.net – 下载列表asp mvc
- asp.net-mvc-3 – Azure网站上的RavenDb – 访问
- js触发asp.net的Button的Onclick事件应用
- 认证 – WebApi ActionFilterAttribute,HttpActi
- asp.net – 超过了JavaScriptSerializer.MaxJson
热点阅读
