如何在 ASP.NET MVC 中使用复选框创建选择列表?
我有一个数据库表,记录允许用户访问哪些出版物。该表非常简单 - 它仅存储用户 ID/出版物 ID 对:
CREATE TABLE UserPublication (UserId INTEGER, PublicationID INTEGER)
给定用户的记录的存在和信息的存在。发布意味着用户有权访问;没有记录意味着无法访问。
我想向我的管理员用户展示一个简单的屏幕,允许他们配置用户可以访问哪些出版物。我想为每一种可能的出版物显示一个复选框,并检查用户当前可以访问的出版物。然后,管理员用户可以选中或取消选中任意数量的出版物并提交表单。
出版物类型有多种,我想将类似类型的出版物分组在一起 - 所以我确实需要控制出版物的呈现方式(我不想只有一个平面列表)。
我的视图模型显然需要有一个所有出版物的列表(因为我需要显示所有出版物,无论当前选择如何),并且我还需要用户当前有权访问的出版物的列表。 (我不确定使用单个列表是否会更好,其中每个项目都包含出版物 ID 和是/否字段?)。
但据我所知。我真的不知道如何将其绑定到某些复选框。我从哪里开始?
I have a database table that records what publications a user is allowed to access. The table is very simple - it simply stores user ID/publication ID pairs:
CREATE TABLE UserPublication (UserId INTEGER, PublicationID INTEGER)
The presence of a record for a given user & publication means that the user has access; absence of a record implies no access.
I want to present my admin users with a simple screen that allows them to configure which publications a user can access. I would like to show one checkbox for each of the possible publications, and check the ones that the user can currently access. The admin user can then check or un-check any number of publications and submit the form.
There are various publication types, and I want to group the similarly-typed publications together - so I do need control over how the publications are presented (I don't want to just have a flat list).
My view model obviously needs to have a list of all the publications (since I need to display them all regardless of the current selection), and I also need a list of the publications that the user currently has access to. (I'm not sure whether I'd be better off with a single list where each item includes the publication ID and a yes/no field?).
But that's as far as I've got. I've really no idea how to go about binding this to some checkboxes. Where do I start?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的问题的 Linq to SQL 模型 看起来像这样:
首先,我们的数据模型中需要一些辅助对象:
现在让我们创建一个如下所示的存储库:
以及一个如下所示的控制器 :
索引视图如下所示:
选择视图如下所示:
以下是一些屏幕截图。
左上角的复选框是全选/全选复选框。
The Linq to SQL model for your problem looks something like this:
First, we need some helper objects in our data model:
Now let's create a repository that looks like this:
And a controller that looks like this:
The Index view looks like this:
And the Select view looks like this:
Here are some screen shots.
The checkbox in the upper left hand corner is a Select All/Select None checkbox.