Asp.net MVC Razor如何显示两个模型字段的分组单选按钮

2023-11-29

我有一个简单的测验模型,我试图让用户从强类型视图中分组的两个单选按钮中选择正确答案/替代答案。但我使用的 lambda 表达式不起作用。我得到两个空白的单选按钮。我在这里和网上查看了几个问题,但我的模型是 IList,并且我找不到合适的示例。我发现的所有示例都适用于非 IList。

这是我的模型

Model:

public partial class Question
    {
        public int QuestionID { get; set; }
        public string QuestionBody { get; set; }
        public string CorrectAnswer { get; set; }
        public string AlternativeAnswer { get; set; }           
    }

我的控制器

public ActionResult Index()
        {
            QuizSimpleEntities quizEntities = new QuizSimpleEntities();
            var questions = from p in quizEntities.Questions
                            select p;

            return View(questions.ToList());

        }

我的型号:

  @model IList<Quiz.Models.Question>                                

 <h2>Welcome to the Quiz</h2>
  @Html.BeginForm(method:FormMethod.Post,controllerName:"Home",actionName:"index")
    {
        @foreach (var questions in Model)
        {

        <p>@questions.QuestionBody</p>  

        @* How to display the CorrectAnswer and AlternativeAnswer
           as two radio buttons grouped here? I will be posting the selected value back
        }

}

谢谢


您需要在视图模型上有一个属性,该属性将在发布表单时保存所选答案:

public partial class Question
{
    public int QuestionID { get; set; }
    public string QuestionBody { get; set; }
    public string CorrectAnswer { get; set; }
    public string AlternativeAnswer { get; set; }           

    public string SelectedAnswer { get; set; }
}

然后简单地循环模型的元素并生成所需的标记:

@model IList<Quiz.Models.Question>                                

<h2>Welcome to the Quiz</h2>
@Html.BeginForm( method:FormMethod.Post, controllerName:"Home", actionName:"index")
{
    @for (var i = 0; i < Model.Count; i++)
    {
        @Html.HiddenFor(x => x[i].QuestionID)
        <fieldset>
            <legend>
                @Html.DisplayFor(x => x[i].QuestionBody)
            </legend>
            <ul>
                <li>
                    @Html.HiddenFor(x => x[i].CorrectAnswer)
                    @Html.RadioButtonFor(x => x[i].SelectedAnswer, Model[i].CorrectAnswer)
                    @Html.DisplayFor(x => x[i].CorrectAnswer)
                </li>
                <li>
                    @Html.HiddenFor(x => x[i].AlternativeAnswer)
                    @Html.RadioButtonFor(x => x[i].SelectedAnswer, Model[i].AlternativeAnswer)
                    @Html.DisplayFor(x => x[i].AlternativeAnswer)
                </li>
            </ul>
        </fieldset>
    }

    <button type="submit">OK</button>
}

注意:提交表单后,POST 操作可能会执行IList<Question>模型中您将获得每个问题的答案(在SelectedAnswer财产)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Asp.net MVC Razor如何显示两个模型字段的分组单选按钮 的相关文章

  • 如何将 protobuf-net 与不可变值类型一起使用?

    假设我有一个像这样的不可变值类型 Serializable DataContract public struct MyValueType ISerializable private readonly int x private readon
  • 如何让 Swagger 插件在自托管服务堆栈中工作

    我已经用 github 上提供的示例重新提出了这个问题 并为任何想要自己运行代码的人提供了一个下拉框下载链接 Swagger 无法在自托管 ServiceStack 服务上工作 https stackoverflow com questio
  • 如何使用 ViewBag 创建 BaseController

    我需要执行以下操作 我已经准备好一些控制器并正在运行 但现在我想创建一个BaseController 我的每一个Controllers应该像这样继承它 public class MySecondController BaseControll
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • 错误:表达式不产生值

    我尝试将以下 C 代码转换为 VB NET 但在编译代码时出现 表达式不产生值 错误 C Code return Fluently Configure Mappings m gt m FluentMappings AddFromAssemb
  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • 如何检测表单的任何控件的变化?

    如何检测 C 中表单的任何控件的更改 由于我在一个表单上有许多控件 并且如果表单中的任何控件值发生更改 我需要禁用按钮 我正在寻找一些内置函数 事件处理程序 属性 并且不想为此创建自定义函数 不 我不知道任何时候都会触发任何事件any控制表
  • C# HashSet 只读解决方法

    这是示例代码 static class Store private static List
  • 如何禁用 fread() 中的缓冲?

    我正在使用 fread 和 fwrite 读取和写入套接字 我相信这些函数用于缓冲输入和输出 有什么方法可以在仍然使用这些功能的同时禁用缓冲吗 Edit 我正在构建一个远程桌面应用程序 远程客户端似乎 落后于服务器 我不知道可能是什么原因
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • 调用堆栈中的“外部代码”是什么意思?

    我在 Visual Studio 中调用一个方法 并尝试通过检查调用堆栈来调试它 其中一些行标记为 外部代码 这到底是什么意思 方法来自 dll已被处决 外部代码 意味着该dll没有可用的调试信息 你能做的就是在Call Stack窗口中单
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum
  • 如何从 ODBC 连接获取可用表的列表?

    在 Excel 中 我可以转到 数据 gt 导入外部数据 gt 导入数据 然后选择要使用的数据源 然后在提供登录信息后 它会给我一个表格列表 我想知道如何使用 C 以编程方式获取该列表 您正在查询什么类型的数据源 SQL 服务器 使用权 看

随机推荐

  • Python 文本中重复的短语

    我有一个问题 我不知道如何解决它 请给一个建议 我有一条文字 好大好大的文字 任务是找到文本中所有长度为3 包含三个单词 的重复短语 在我看来 你有两个问题 第一个是提出一种标准化输入的有效方法 你说你想找到输入中的所有三词短语 但是短语是
  • preg_match 获取多个

    我有一个类似于 w e 更多 HTML 的页面 我需要获取标签之间的所有数据 而不是第一个数据 目前我使用
  • AWS Athena - 查询分区中不同年份的数据

    我们在 S3 中划分了大型数据集 例如s3 bucket year YYYY month MM day DD file csv 查询 Athena 中不同年份的数据并利用分区的最佳方式是什么 这是我尝试过的2018 03 07 至 2020
  • var_dump(对象)的结果是什么意思?

    var dump object 返回 object 1我真的很想知道 object 1 object 2 和 object 3 之间有什么区别 任何帮助表示赞赏 对于具有相同信息 相同类 相同属性 的对象 它允许确定它们是否是相同的实例 例
  • 如何禁用 Windows 编辑控件上的小触摸键盘

    在支持平板电脑的 Windows 版本中 当编辑控件获得焦点时 会出现一个小键盘图标 如果您触摸它 触摸键盘就会弹出 有办法禁用这个吗 如果你有自己的触摸键盘 那就相当不方便了 我想对代码中的某些编辑控件禁用它 即 我不是在寻找 Windo
  • 如何将 Cython 生成的模块从 python 导入到 C/C++ 主文件? (C/C++ 编程)[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 因此 我有一个用 python 编写的函数 并且按照 Cython 文档 使用 distutils 构建 Cython 模块 中的步骤进行操作 但是 我不清楚如何使用在 python
  • 新添加的列的数据未保存到数据库

    我在 Rails 4 应用程序中使用 Devise 进行用户身份验证 最近 我向用户模型添加了两个新列 他们是first name and last name 然后 我使用这两个属性的字段更新了登录表单 但是 当我测试创建新用户时 两者都没
  • PHP 标头函数的替代方案

    我正在开发一个具有许多样式表的网站 所有这些样式表都需要作为 PHP 脚本服务器端进行处理 我的 htaccess文件看起来像这样
  • 使用 R 进行网页抓取:尽管在程序中使用了长时间暂停,但仍出现 HTTP 错误 503

    我正在尝试搜索ProQuest 存档器使用 R 我有兴趣查找包含特定关键字的报纸的文章数量 通常使用它效果很好rvest工具 然而 该程序有时会崩溃 看这个最小的例子 library xml2 library rvest Retrieve
  • 如何将 Data Fusion 连接到 Cloud SQL 代理

    我正在尝试使用私有 IP 将 Data Fusion 与 Cloud SQL MySQL 连接起来 我读过很多资源 似乎这是可能的 至少我仍然不相信这是不可能的 到目前为止我所拥有的 具有私有 IP 的 Data Fusion 私有实例 具
  • 将新输入的行与另一列值相乘并在 SQL 中查找总和

    我这里有 4 个表 我需要将表中新输入的行值与另一行相乘 并使用CustomerId 客户表 CustomerId Name EmailId 1 Paul email protected 2 John email protected 忠诚度
  • 将图表从 dojo 图表导出/转换为图像

    谁能告诉我是否可以将 dojo 图表对象转换为 mage 文件 我需要这个 因为我想从包含一些数据和表示图表的网页导出 Excel 文件 我唯一发现的是http dojotoolkit org reference guide dojox g
  • 使用 Jenkins DSL 插件进行稀疏结账?

    有谁有正确的代码示例 configure Jenkins DSL 插件中需要块来设置 git 稀疏结帐吗 config xml 部分看起来像这样
  • 适用于 Windows 的 CoffeeScript IDE - 尝试过 Titanium Studio 和 RubyMine

    我正在尝试找到一种在 Windows 上使用 CoffeeScript 的好方法 并且能够在 IDE 中将这些文件快速处理为 JavaScript RubyMine 如果我只是在 RubyMine 中打开一个 coffee 文件 这似乎可以
  • 在 UIPopover 内显示 UIDatePicker

    我正在使用以下代码来显示UIDatePicker在一个UIPopover当用户单击时显示UIButton 问题是 它显示在一个尴尬的位置 我想添加一个UIToolBar上面的datePicker有额外空间的地方 这将会有cancel and
  • 如何在 JavaFX Canvas 上禁用抗锯齿功能?

    目前我正在使用 JavaFX 开发一款 2D 游戏 该游戏是像素艺术的 不幸的是 由于抗锯齿 像素艺术变得模糊 有什么方法可以禁用 JavaFX 画布上的抗锯齿功能吗 我尝试过使用 SceneAntialiasing DISABLED 但它
  • Facade 和 Mediator 设计模式的区别?

    外观设计模式和中介设计模式有什么区别 我想了解在哪种情况下在这两种设计模式之间选择哪种设计模式 我浏览了以下链接 发现两者在用例方面都是相同的 立面设计模式 http www tutorialspoint com design patter
  • Java 使用 XStream 读取 XML

    我正在尝试使用 XStream 反序列化此 XML 文件 但收到此错误 Exception in thread main com thoughtworks xstream converters ConversionException Aut
  • 创建二维列表矩阵

    如何创建基于列表的矩阵1具有给定的行数和列数 例如 像 row 3 column 4 gt 1 1 1 1 1 1 1 1 1 1 1 1 这是使用列表理解的替代方法 让我们看一下基础知识 Prelude gt 2 x x lt 1 4 2
  • Asp.net MVC Razor如何显示两个模型字段的分组单选按钮

    我有一个简单的测验模型 我试图让用户从强类型视图中分组的两个单选按钮中选择正确答案 替代答案 但我使用的 lambda 表达式不起作用 我得到两个空白的单选按钮 我在这里和网上查看了几个问题 但我的模型是 IList 并且我找不到合适的示例