首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Asp.net核心Mvc中提交表单后,下拉列表不保留选定的值

在ASP.NET Core MVC中提交表单后,下拉列表不保留选定的值的解决方法如下:

  1. 使用ViewBag或ViewData传递选定的值:在Controller的POST方法中,将选定的值通过ViewBag或ViewData传递到对应的视图页面。在视图页面中,使用这些传递的值来设置下拉列表的选中状态。例如:
代码语言:txt
复制
// POST方法中获取选定的值并传递到视图页面
[HttpPost]
public IActionResult SubmitForm(string selectedValue)
{
    ViewBag.SelectedValue = selectedValue;
    return View();
}

在视图页面的下拉列表中,根据ViewBag中传递的选定的值设置selected属性:

代码语言:txt
复制
<select>
    <option value="value1" @(ViewBag.SelectedValue == "value1" ? "selected" : "")>Option 1</option>
    <option value="value2" @(ViewBag.SelectedValue == "value2" ? "selected" : "")>Option 2</option>
    <!-- 其他选项 -->
</select>
  1. 使用Model绑定:在提交表单时,将选定的值通过模型绑定到POST方法中。然后在POST方法中重新将这些值传递到视图页面。在视图页面中,使用这些传递的值来设置下拉列表的选中状态。例如:
代码语言:txt
复制
// 模型类
public class MyModel
{
    public string SelectedValue { get; set; }
    // 其他表单字段
}

// GET方法返回带有选定的值的视图页面
[HttpGet]
public IActionResult SubmitForm()
{
    MyModel model = new MyModel();
    model.SelectedValue = "value1"; // 设置选定的值
    return View(model);
}

// POST方法中获取选定的值并传递到视图页面
[HttpPost]
public IActionResult SubmitForm(MyModel model)
{
    model.SelectedValue = model.SelectedValue; // 重新获取选定的值
    return View(model);
}

在视图页面的下拉列表中,根据Model中的选定的值设置selected属性:

代码语言:txt
复制
<select>
    <option value="value1" @(Model.SelectedValue == "value1" ? "selected" : "")>Option 1</option>
    <option value="value2" @(Model.SelectedValue == "value2" ? "selected" : "")>Option 2</option>
    <!-- 其他选项 -->
</select>

通过上述方法,即可在ASP.NET Core MVC中提交表单后,保留下拉列表的选定值。请注意,以上方法只是其中的两种常见解决方案,具体实现方式还可以根据实际情况进行调整和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET MVC框架(第四部分): 处理表单编辑和提交场景

表单输入和提交场景 为示范如何在ASP.NET MVC框架处理表单输入和提交场景一些基本原则,我们将建造一个简单产品列表,产品生成,和产品编辑场景。...Create" action方法则处理从表单提交过来,根据这些在数据库中生成一个新产品,然后将客户转向到产品分类列表网页。...第一个预览版,只有"ActionLink"方法是内置于System.Web.Extensions(目前实现核心ASP.NET MVC框架程序集)。...注意Html.Select辅助方法有个重载版本,允许你指定下拉选定是什么。在下面的代码片断,我表示我要Category下拉框根据编辑产品目前CategoryID自动选择某一项: ?...结语 希望本帖子提供了ASP.NET MVC框架如何处理表单输入和提交场景一些细节,还提供了你可以如何处理和结构化常见数据输入和编辑场景一些背景。

5.1K70

ASP.NET MVC学习笔记06编辑方法和编辑视图

ASP.NET MVC model binder接收form所post数据,并转换所接收 Movie请求数据从而创建一个Movie对象。...ModelState.IsValid方法用于验证提交表单数据是否可用于修改(编辑或更新)一个Movie对象。...如果禁用 JavaScript,则不会有客户端验证,但服务器将检测回传是无效,而且将重新显示 表单与错误消息。本教程后面,我们验证更详细审查。...SelectList对象ViewBag作 为存储类数据(这样电影流派),然后在下拉列表数据访问类别,是一个典型MVC applications方法。...如我们使用下面的代码: @Html.DropDownList("movieGenre", "Comedy") 我们数据库,我们拥有与“喜剧”流派电影,“喜剧”在下拉列表中将预先选 择。

5K50
  • php dropdownlist,遇到dropdownlist

    绑定我们通常会为绑定第0个位置添加一个类似与”–请选择–“之类提示项。...获取一个DataSet对象,可以为DropDownList控件进行绑定,绑定语句如下: DataSet ds = DM.g… 文章 暖枫无敌 2010-09-21 573浏览量 ASP.NET MVC...下拉列表使用小结 ASP.NET MVC下拉列表用法很简单,也很方便,具体来说,主要是页面上支持两种Html帮助类方法:DropDownList()和DropDownListFor()。...ASP.NET操作ORACLE数据库添加数据记录时如何生成自动编号… 文章 wangccsy 2006-02-15 927浏览量 Option条目中填充前导空格方法 使用Web页面上下拉列表框(...使用过程遇到了一些小问题,记录下来以便日后翻阅。 MVC项目中使用JQuery,$.Post方法提交数据时产生中文乱码现象?

    3K10

    ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)

    ModelState.IsValid方法用于验证提交表单数据是否可用于修改(编辑或更新)一个Movie对象。...如果禁用JavaScript,则不会有客户端验证,但服务器将检测回传是无效,而且将重新显示表单与错误消息。本教程后面,我们验证更详细审查。...当用户通过点击“过滤器”按钮,提交表单, Html.BeginForm助手会导致窗体post到它本身。 Visual Studio2013有一个很好改善: 显示和编辑视图文件时。...SelectList对象ViewBag作为存储类数据(这样电影流派),然后在下拉列表数据访问类别,是一个典型MVC applications方法。...如我们使用下面的代码: @Html.DropDownList("movieGenre", "Comedy") 我们数据库,我们拥有与“喜剧”流派电影,“喜剧”在下拉列表中将预先选择。

    6.7K110

    ASP.NET Core 基础知识】--MVC框架--Models和数据绑定

    2.2 基本数据绑定 ASP.NET Core MVC,基本数据绑定涉及将用户提交数据映射到控制器动作方法参数或直接映射到模型。...return View(); } 在这个例子,Items 属性是一个字符串列表ASP.NET Core MVC框架将尝试将请求数据映射到该列表。 3....asp-items 属性指定了选择列表数据源,而 asp-for 属性将选择列表与模型属性进行关联。...通过在前端进行验证,用户能够更早地得知输入错误,而不是等到提交表单才得知。 降低后期成本: 开发阶段实施强大数据验证可以降低维护和修复错误成本。...: IsValid 方法,你可以访问当前验证属性以及整个模型其他属性

    58810

    ASP.NET Core 基础知识】--MVC框架--Views和Razor语法

    三、Views创建和布局 3.1 创建Views文件 ASP.NET Core,创建Views文件通常是MVC(Model-View-Controller)模式Views文件夹下特定位置。...4.2 常见模型绑定技巧 ASP.NET Core MVC,有一些常见模型绑定技巧,可以帮助你更灵活、高效地处理用户请求和数据输入。...五、Views表单处理 5.1 HTML表单基础 HTML表单是一种用于收集用户输入元素,它允许用户通过输入框、下拉菜单、单选按钮等方式向服务器提交数据。...5.2 Views表单标签 ASP.NET CoreRazor视图中,可以使用HTML表单标签和ASP.NET CoreHTML辅助方法来创建表单。...5.3 表单验证和处理 ASP.NET Core表单验证和处理是Web应用程序关键部分。ASP.NET Core提供了内置模型验证和处理机制,可以方便地处理用户提交表单数据。

    43320

    Git 项目推荐 | 基于 C# 极速 WEB + ORM 框架

    NFine 是基于 C# 语言极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展,让Web开发更迅速、简单。能解决60%重复工作。...NFine项目简介 使用时请务必保留来源,请勿用于违反我国法律web平台、如诈骗等非法平台网站。版权最终解释权归《NFine团队》所有。...NFine是一套基于ASP.NET MVC+EF6+Bootstrap开发出来框架,源代码完全开源,可以帮助你解决C#.NET项目68%重复工作,让开发人员远离加班!...数据权限(精细化数据权限控制,控制到行级,列表级,表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段。 提高开发效率及质量。常用类封装,日志、缓存、验证、字典、文件、邮件、,Excel。...二 后端技术 核心框架:ASP.NET MVC5、WEB API。 持久层框架:EntityFramework 6.0。 定时计划任务:Quartz.Net组件。

    3.1K80

    ASP.NET MVC5View-Controller间数据传递

    Form form表单形式是常见向后端发送数据方式,但是提交数据是只会提交form表单内部具有name属性input,textarea,select标签value。...{ set; get; } } 修改Action代码如下: public void GetValue(User user) { } 然后运行程序,可以看到MVC以将表单数据映射为User类实例属性...json格式数据 //如,上面使用form表单提交数据就可以使用jqueryserialize()方法将表单进行序列化之后提交...,会看到Form Data一栏)赋值到Action参数,如果是get请求,MVC会尝试将QueryString赋值到Action参数。...参考文章: 玩转Asp.net MVC 八个扩展点 版权声明 本文为作者原创,版权归作者雪飞鸿所有。 转载必须保留文章完整性,且页面明显位置处标明原文链接。 如有问题, 请发送邮件和作者联系。

    2.7K10

    Asp.Net MVC4入门指南(6):验证编辑方法和编辑视图

    ModelState.IsValid方法用于验证提交表单数据是否可用于修改(编辑或更新)一个Movie对象。...数据保存之后,代码会把用户重定向到MoviesController类Index操作方法,页面将显示电影列表,同时包括刚刚所做更新。 如果form发送不是有效,它们将重新显示form。...该请求将显示一个 HTML 表单,其中包含输入元素,用户可以输入一部要搜索电影。当用户提交窗体时,操作方法将获取用户输入搜索条件并在数据库搜索。...添加视图对话框,指定你要将Movie对象传递给视图模板作为其模型类。框架模板列表,选择列表,然后单击添加....(使用 Distinct修饰符,不会添加重复流派 -- 例如,我们示例添加了两次喜剧)。该代码然后ViewBag对象存储了流派数据列表。 下面的代码演示如何检查movieGenre参数。

    4.3K100

    WaterCloud:一套基于.NET 8.0 + LayUI快速开发框架,完全开源免费!

    项目介绍WaterCloud是一套基于ASP.NET 8.0 MVC + API + SqlSugar + LayUI快速开发框架,源代码完全开源、免费(MIT License),可以帮助你解决C#....后端技术核心框架:ASP.NET 8.0、WEB API定时任务:QuartZ,实现web控制持久层框架:SqlSugar(支持多种数据库,复杂查询操作、多租户等)、Chloe(支持多种数据库,复杂查询操作...,支持到导航菜单、功能按钮、行级、列表级、表单字段级。...表单设计器:提供多种方式设计表单,包括动态表单拖拉式设计及自定义表单。流程设计器:动态设计流程,节点及连线条件设计。内容管理:已配置好wangEditor编辑器,易于使用。...坑已挖,欢迎大家踊跃提交PR推荐或自荐(让优秀项目和框架不被埋没)。

    13410

    ASP.NET安全

    ASP.NET MVC主要有两种认证机制 Forms 认证 Windows 认证 Forms 认证   从字面上我们就可以得到一些信息,基于表单认证提供给用户一个表单可以输入用户名和密码,然后我们可以我们程序写自己逻辑去验证这些信息...ASP.NET MVC为Forms认证提供了很多支持,并且有很强自定义性。从通过表单登录到用户信息存储什么地方,到怎么样去验证这些用户信息。...ASP.NET MVCrazor默认会对所有输出进行html编码。这是ASP.NET MVC针对XSS攻击另一道防火墙。...如果浏览器端依然保留着我身份信息,那我访问其他恶意站点时候。...这个页面一旦被加载,这个表单就会自动提交,那我们数据就被黑了,一切都是那么简单。 如何避免?

    2.7K80

    ASP.NET MVC5高级编程——(3)MVC模式模型

    黄色代码部分释疑:从数据库得到所有的流派和艺术家列表,存在ViewBag。 ? ? 下面是商店管理器Edit视图中用来为流派创建下拉列表代码: ?...这时浏览器会自动收集用户表单输入所有信息并将这些(及其相关name属性)放在请求中一起发送。这里注意input和select元素name属性,需要和Album模型属性匹配。...sad path,控制器操作需要重新创建Edit视图,以便用户更改自身产生错误,而ASP.NET MVC5默认提供了客户端校验,如图所示: ?...模型绑定数据验证:ASP.NET MVC处理模型绑定时,会处理Model数据验证。模型绑定数据验证失败,则ControllerModelState.IsValid验证为false。 ?...ASP.NET MVC可以通过使用Bind属性限制可被更新Model属性。如绑定多个字段部分字段:通过Bind属性来定义Model需要绑定哪些字段。

    4.8K40

    HTML初学

    select系列 属性 说明 select 下拉列表整体 option 下拉列表选项 button系列 属性 说明 submit 提交 reset 重置 button 普通按钮 text area...form标签: 表单域包括 输入框、下拉列表、文本框 输入框(input)类型: 1. text 文本框 2. password 密码框 3. radio 单选框 单选按钮有互斥效果,name...3.name 属性用于对提交到服务器表单数据进行标识 4. value 为input元素设定(默认) 输入框 选项 按钮上文字 5.checked 页面加载时应该被预先选定单选和复选选项...6. selected 规定在页面加载时预先选定下拉列表选项 7. readonly 规定输入字段为只读(不能编辑) 8. disabled 规定应该禁用input元素(既不能编辑也不能提交)...9. maxlength 规定输入字段允许最大长度 10. size规定下拉列表可见选项数目 表格: 表格标签: 1. table 表格 2. tr 行 3. td 单元格 4. th

    3.3K40

    Spring MVC 学习总结(四)——视图与综合示例

    系统将自动把指定模型与页面进行绑定,渲染结果如下: <!...modelAttribute对象进行双向绑定 items="${productTypes}" 绑定到下拉列表集合对象 itemLabel="name" 集合对象用于作为下拉列表optiontext...属性 itemValue="id" 集合对象用于作为下拉列表optionvalue属性 渲染页面: <!...这两个标签生成HTML代码是相同,但是第一个option标签允许你JSP明确声明这个标签只供显示使用,并不绑定到表单支持对象属性上。...1.11、hidden标签 这个标签生成类型为hiddenHTML input标签。在生成HTML代码,input标签表单支持对象相应属性保持一致。

    1.7K10

    Blazor 路由和路由模板

    通过 ASP.NET MVC,只要请求 URL 无法映射到物理服务器文件,路由组件就会启动。...此外,正如在 ASP.NET MVC 中发生那样,解析 URL 时,表路由将从最具体到最不具体进行评估,并且搜索首次匹配时停止。...客户端上,路由器参与多种情况,最常见情况是用户单击链接、表单提交按钮或下拉列表触发服务器调用项。路由器绑定到内部位置更改事件,并从客户端处理导航到新请求路径整个过程。...正常情况下,如果没有任何预防措施,它可能会产生异常,因为文本被填充到整数容器。如果需要确保应有参数位置仅指定给定类型,则应选择路由约束。...如果熟悉任何风格 ASP.NET MVC,那么路由约束并不是什么新鲜事。

    8.4K21

    ABP入门系列(5)——展现层实现增删改查

    最终实现效果如下图: 一、定义Controller ABP对ASP.NET MVC Controllers进行了集成,通过引入Abp.Web.Mvc命名空间,创建Controller继承自AbpController...为了使用ASP.NET MVC强视图带给我们好处(模型绑定、输入校验等等),我们需要创建一个ViewModel来进行模型绑定。...PartialView到指定div。...而我们代码另一种方式是通过@Html.Action("Create")方式,加载Index视图作为子视图同步加载了进来。 感兴趣同学自行查看源码,不再讲解。...展现层主要用到了Asp.net mvc强类型视图、Bootstrap-Modal、Ajax异步提交技术。 其中需要注意是,异步加载表单时,需要添加以下js代码,jquery方能进行前端验证。

    4K50

    ASP.NET Core如何更改文件上传大小限制maxAllowedContentLength属性

    Web.configmaxAllowedContentLength这个属性可以用来设置HttpPost类型请求可以提交最大数据量,超过这个数据量Http请求ASP.NET Core会拒绝并报错...,由于ASP.NET Core项目文件取消了Web.config文件,所以我们无法直接在visual studio解决方案目录再来设置maxAllowedContentLength属性。...但是发布ASP.NET Core站点,我们会发现发布目录下有一个Web.config文件: ? ?...我们可以发布这个Web.config文件设置maxAllowedContentLength属性: <?xml version="1.0" encoding="utf-8"?...提交表单(Form)Http请求 对于提交表单(Form)Http请求,如果提交数据很大(例如有文件上传),还要记得Startup类ConfigureServices方法配置下面的设置: public

    4.7K20
    领券