在循环语句中生成 MVC3 RadioButton 列表

2024-04-17

我的一位同事创建了一个模型,如下所示。

Model

[Serializable]
public class ModifyCollegeListModel
{
    public List<SchoolModel> CollegeList { get; set; }
    public List<SchoolListModel> SchoolList { get; set; }
    public string Notes { get; set; }
    public int QuestionnaireId { get; set; }
}

[Serializable]
public class SchoolModel
{
    public Guid SchoolId { get; set; }
    public string SchoolName { get; set; }
    public string StateName { get; set; }
    public int DisplayIndex { get; set; }
    public int DetailId { get; set; }
    public int CategoryId { get; set; }
    public int? ApplicationStatusId { get; set; }
}

我打算创建一个循环来生成 ApplicationStatusId 的单选按钮列表,如下所示......

剃刀代码

   @foreach (SchoolModel justright in Model.CollegeList.Where(m => m.CategoryId == 3).OrderBy(m => m.SchoolName).ToList<SchoolModel>())
    {
        <tr class="@HtmlHelpers.WriteIf(eventCounter % 2 == 0, "even", "odd")">
                <td class="school"><b>@justright.SchoolName</b></td>
                <td class="location"><b>@justright.StateName</b></td>
            <td><label>@Html.RadioButtonFor(x => justright.SchoolId, (int)BrightHorizons.CC.BusinessLogic.CollegeListApplicationStatusEnum.DidNotApply)</label></td>
            <td><label>@Html.RadioButtonFor(x => justright.SchoolId, (int)BrightHorizons.CC.BusinessLogic.CollegeListApplicationStatusEnum.Accepted)</label></td>
            <td><label>@Html.RadioButtonFor(x => justright.SchoolId, (int)BrightHorizons.CC.BusinessLogic.CollegeListApplicationStatusEnum.NotAccepted)</label></td>
        </tr>

    }

但发生的情况是,创建的所有单选按钮都具有相同的名称,因此它们被分组为一个巨大的单选按钮集合。不是通过 schoolID...抓伤头

有人可以在这里帮助我并为我指明如何创建按行分组的单选按钮的正确方向吗?


我会做两件事。

首先,我将从视图中删除过滤逻辑。我的意思是这部分:

Model.CollegeList.Where(m => m.CategoryId == 3).OrderBy(m => m.SchoolName).ToList<SchoolModel>()

这种逻辑属于服务。它还将使视图更加清晰。

其次,我认为您需要使用 for 循环,以便 MVC 将所有内容绑定回您想要的方式:

for (int i = 0; i < Model.CollegeList.Count; i++) {
    <tr class="@HtmlHelpers.WriteIf(eventCounter % 2 == 0, "even", "odd")">
        <td class="school"><b>@CollegeList[i].SchoolName</b></td>
        <td class="location"><b>@CollegeList[i].StateName</b></td>
        <td><label>@Html.RadioButtonFor(x => x.CollegeList[i].SchoolId, (int)BrightHorizons.CC.BusinessLogic.CollegeListApplicationStatusEnum.DidNotApply)</label></td>
        <td><label>@Html.RadioButtonFor(x => x.CollegeList[i].SchoolId, (int)BrightHorizons.CC.BusinessLogic.CollegeListApplicationStatusEnum.Accepted)</label></td>
        <td><label>@Html.RadioButtonFor(x => x.CollegeList[i].SchoolId, (int)BrightHorizons.CC.BusinessLogic.CollegeListApplicationStatusEnum.NotAccepted)</label></td>
    </tr>
}

使用 for 循环后,您会注意到单选按钮名称和 ID 也包含其在 CollegeList 中的索引。例如:

<input id="CollegeList_0__SchoolId" name="CollegeList[0].SchoolId" type="radio" value="2">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在循环语句中生成 MVC3 RadioButton 列表 的相关文章

随机推荐

  • 给定焦点和相机主中心,如何创建透视投影矩阵

    我设法使用 OpenCV 获取相机的内在和外在参数 因此我有 fx fy cx 和 cy 我还有屏幕 图像的宽度和高度 但是如何根据这些参数创建 OpenGL 透视投影矩阵呢 glFrustum 展示了如何在给定 Z 近 Z 远以及图像宽度
  • R fromJSON 无法打开连接

    我正在使用一种算法 R 它调用一个 Web 服务 该服务对数据库进行查询并返回一个 JSON 对象 url lt paste https example com id 1 document lt fromJSON content url m
  • 在 Apache Zeppelin 上运行 Pig 查询

    我正在 Apache Zeppelin 中运行以下 Pig 查询 pig query A load Pig data using PigStorage as ExamName ExamId BITSID StudentName Issue
  • 从函数中打开 fancybox

    我正在尝试从我拥有的函数中打开一个 fancybox 简而言之 我的 HTML 代码如下所示 a href modalMine click a 我的功能的一部分如下所示 function myfunction me me fancybox
  • 针对 unsafePerformIO 的部门限制

    工作中有人讨论过将其作为一项全部门政策 禁止使用unsafePerformIO及其同类 就我个人而言 我并不介意 因为我一直认为 如果我发现自己想要使用它 通常意味着我需要重新考虑我的方法 这个限制听起来合理吗 我似乎记得在某处读到它主要是
  • iOS:如何打开带有动画效果的相机?

    我想以动画效果打开相机 以便看起来相机仅在父屏幕中打开 我正在使用相机覆盖屏幕 在父屏幕中单击按钮事件时 相机覆盖屏幕正在打开 在相机覆盖屏幕中有一个取消按钮可以关闭相机 因此在再次关闭相机时我需要显示动画效果看起来现在相机在同一个父屏幕中
  • Python 类中的属性初始化/声明:将它们放在哪里?

    我想知道在 Python 中初始化对象属性的最佳实践是什么 在类的主体中还是在 init 功能 i e class A object foo None vs class A object def init self self foo Non
  • 在 postgresql 中生成自动 ID

    用户表 ID Name 1 usr1 2 usr2 3 usr3 上表中 ID为主键 我的要求是在将数据插入表中时 我只想指定 名字像INSERT INTO user VALUES usr4 执行查询后 有没有办法自动为 usr4 创建ID
  • ACRA 行号不正确

    我使用 android proguard ACRA 谁能告诉我为什么我收到的崩溃报告的行号不正确 行号显然指向错误的陈述 我无法知道崩溃的确切行号 因此无法修复用户报告的错误 这真的很烦人 谢谢 PS 我使用的是我发布的版本对应的映射文件
  • 如何设置 QBrush 的颜色动画

    我想要动画颜色QBrush 更多详情请看下面的代码 这是我的 h 文件 class Cell public QObject public QGraphicsRectItem Q OBJECT Q PROPERTY QBrush brush
  • Jquery 动态更改链接扩展名

    我在很多页面都设置了链接 例如 ul li a href someurl somefile html Some file a li li a href someurl somefile1 html Some file1 a li li a
  • CMake+Xcode:应用程序存档失败,具体取决于同一解决方案中的库。在 BUILD_TREE 而不是 Xcode/DerivedData 中构建 Archive?

    几周前 我们移植了代码库以使用 CMake 进行构建管理 我们现在意识到 当我们试图做到这一点时 存在一个重大问题Archive依赖于同一 Xcode 解决方案中构建的一个 或多个 库的应用程序 链接器失败 因为它找不到所依赖的库 并且该库
  • 以编程方式更改小部件的渐变背景

    我正在努力实现的目标 int colors new int colorDark colorLight GradientDrawable gd new GradientDrawable TOP BOTTOM colors remoteView
  • IIS 7.5 405 不允许从 StaticFileModule 进行 PUT 方法

    我将第 3 方 xml 编辑器集成到我们的 Web 应用程序中 并且保存函数直接对 Web 服务器上的文件执行 HTTP PUT 操作系统是使用 IIS 7 5 的 Windows Server 2008 R2 我们安装了 Web API
  • 使用 API 蓝图记录查询参数

    我正在尝试在 API 蓝图中记录查询参数 但我不完全确定我是否正确完成了操作 该资源如下所示 DELETE http baasar apiary mock com user appId userId 该请求将停用用户 而以下请求将删除用户对
  • 中可以有 吗?

    故事如下 我正在使用 SWFObject 将 Flash 对象插入到我的页面中 嵌入吃掉了我的span 所以 我为此失去了所有 CSS 我正在考虑将所有 CSS 移至父级 这样当 Flash 出现时我就不会丢失 CSS 样式 我尝试过使用s
  • CSS :focus-within 选择器,用于具有 iframe 子元素的元素

    我有一个这样的场景 container background yellow padding 40px container focus within background red iframe background white div cla
  • 异步作业出错

    我正在尝试创建一个不会阻止请求的异步任务 用户发出请求 任务将启动 控制器将呈现 作业正在运行 这是为了避免请求被阻止等待任务完成 任务完成后 它将执行 onComplete 并对该任务的结果执行某些操作 例如调用将向用户发送邮件的服务 E
  • 循环遍历 Silverlight DataGrid 中的行

    我有一种感觉 我在这里遗漏了一些明显的东西 但我找不到迭代 DataGrids DataGridRow 集合的方法 我有一个网格 其中包含我的班级集的集合的项目源 我试图迭代这些行并突出显示满足特定条件的任何行 但我一生都看不到如何实现 您
  • 在循环语句中生成 MVC3 RadioButton 列表

    我的一位同事创建了一个模型 如下所示 Model Serializable public class ModifyCollegeListModel public List