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

Viewbag没有将post时的值绑定回控制器吗?

ViewBag是ASP.NET MVC框架中的一个动态属性,用于在控制器和视图之间传递数据。它是一个动态对象,可以在控制器中设置属性值,在视图中读取这些属性值。

在ASP.NET MVC中,当我们使用POST方法提交表单数据时,ViewBag并不会自动将POST的值绑定回控制器。这是因为ViewBag主要用于在控制器和视图之间传递数据,而不是用于接收表单数据。

要将POST的值绑定回控制器,我们可以使用模型绑定。模型绑定是ASP.NET MVC框架中的一个功能,它可以自动将表单数据绑定到控制器的参数或模型对象上。

例如,我们可以在控制器的POST方法中定义一个参数,该参数的类型是我们期望的表单数据模型。当我们提交表单时,ASP.NET MVC框架会自动将表单数据绑定到这个参数上。

以下是一个示例:

代码语言:txt
复制
[HttpPost]
public ActionResult MyAction(MyModel model)
{
    // 在这里可以使用model对象中的属性值
    // ...
    return View();
}

在这个示例中,MyModel是一个自定义的模型类,它包含了我们期望的表单数据的属性。当我们提交表单时,ASP.NET MVC框架会自动将表单数据绑定到MyModel对象的属性上,然后将这个对象作为参数传递给MyAction方法。

需要注意的是,为了使模型绑定正常工作,表单中的输入元素的name属性必须与模型类中的属性名相匹配。

关于ASP.NET MVC的模型绑定和表单提交的更多信息,可以参考腾讯云的相关文档和教程:

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

相关·内容

.NET MVC第四章、模型绑定获取表单数据

.NET MVC第四章、模型绑定获取表单数据 ---- 目录 .NET MVC第四章、模型绑定获取表单数据 模型绑定概述 获取值demo 模型获取值 文件获取,必须使用post接收 可空int参数...文件上传 ---- 模型绑定概述 模型绑定就是浏览器发送HTTP请求数据转换为.NET对象过程。...模型绑定使得在控制器中可以直接获取视图、或URL传递来数据,且这些数据可以自动转换为模型对象,以便调用。...模型绑定机制省略了常见Request.QueryString手动传和类型转换步骤,这样可以专注地处理模型对象。...当文本框输入内容包含“非int类型”或“空数据”,模型绑定无法正确实现int类型转换,默认绑定随之失效。为避免出现这类异常,需要为控制器相关参数设定“可空类型”或“参数默认”。

1.2K20

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

视图模板在文件顶部有 @model MvcMovie.Models.Movie声明,这将指定视 图期望模型类型为 Movie。 ? 处理 POST 请求 看前面的EidtPost方法。...数据保存之后,代码会把用户重定向到 MoviesController类Index操作方法,页面显示电影列表,同时包括刚刚所做更新。 一旦客户端验证确定某个字段是无效显示出现错误消息。...如果禁用 JavaScript,则不会有客户端验证,但服务器检测是无效,而且重新显示 表单中与错误消息。在本教程后面,我们验证更详细审查。...因为我们没有一个电影流派“All”,也没有“All” SelectList,所以当我们post back后不做任何选择,movieGenre查询字符串是空。...在下一篇中,看到如何添加一个属性到 Movie model,和如何添加一个初始设定项,它会自动创建一个测试数据库。

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

    如果禁用JavaScript,则不会有客户端验证,但服务器检测是无效,而且重新显示表单中与错误消息。在本教程后面,我们验证更详细审查。...当定义LINQ查询或修改查询条件,如调用Where 或OrderBy方法,不会执行 LINQ 查询。相反,查询执行会被延迟,这意味着表达式计算延迟,直到取得实际或调用ToList方法。...当你运行应用程序打开视图文件,Visual Studio2013调用正确控制器操作方法来展示视图。 ?...请注意 HTTP POST 请求 URL 和GET 请求URL 是相同(localhost:xxxxx/电影/Index)— — 在 URL 中没有搜索信息。...因为我们没有一个电影流派“All”,也没有“All”SelectList,所以当我们post back后不做任何选择,movieGenre查询字符串是空

    6.7K110

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

    这个控制器带有的唯一操作就是Index操作,且在内部除了返回一个默认ViewResult实例代码之外,没有其他任何代码。这个模版不会生成任何视图。...注意,如果没有编译项目,则后续使用模型创建基架时候会报错! 2. 执行基架模版 (1)右击Controllers文件夹 --> 添加 --> 控制器: ?...基架生成代码展示了第一种解决方案:额外信息传递到ViewBag结构中。这个方案完全合理而且还便于实现。...5.3 Edit视图 当用户单击页面上Save按钮,HTML发送一个HTTP POST请求,请求回到 /StoreManager/Edit/1 页面。...5.4 响应编辑POST请求 接受HTTP POST请求来编辑信息操作名称也是Edit,但不同于前面看到Edit操作,因为它有一个HttpPost操作选择器特性: ?

    4.7K40

    MVC 3.0 新特性 摘要

    : Scott Guthrie's blog on the MVC 3 Preview Filtering in ASP.NET MVC 新 ViewBag 属性 MVC2 中控制器支持 ViewData...属性,允许通过后绑定字典数据传送给视图模板,在 MVC3 中,你可以通过 ViewBag 来更加简单完成。...你不需要通过类来定义任何强类型属性,因为这是动态属性,在内部,ViewBag 属性以名-形式保存在 ViewData 字典中。注意,在许多预发布版本中,这个属性被称为 ViewModel。...这允许你基于 Model 其他属性来验证当前,例如,新 CompareAttribute 就允许你比较 Model 两个属性,在下面的例子中,ComparePassword 属性必须匹配 Password...当 Model 绑定时候,MVC3 从 IValidatableObject 接收错误信息,在视图中使用内建 HTML 助手,将会自动标识或者高亮受影响字段。

    2.6K10

    FineUIMvc表格数据库分页,使用CYQ.Data组件

    grid1.DataSource(dataSource, Grid1_fields); return UIHelper.Result(); } 注意,控制器方法两个参数名称是约定好...,如果前台通过控件ID方式来传入自定义发参数: OnPageIndexChanged(Url.Action("Grid1_PageIndexChanged"), "Grid1") 后台接受请求参数名约定为...表格控件ID_fields:表格用到了哪些表格字段(如果不是表格,是IEnumrable对象,则对应于类属性列表),这个在数据绑定时需要用到。...因为表格可能存在很多字段,假设有 100 个,可能只有其中 10 个字段表格用到了。那么数据绑定时只返回这 10 个字段数据。...假设数据绑定没有传入这个参数,也是可以运行,只不过会返回很多冗余数据,也可能会造成关键数据泄密(比如密码等)。 最后,我们看下 MVC 中,分页请求正文: ?

    51540

    FineUIMvc表格数据库分页,使用CYQ.Data组件

    grid1.DataSource(dataSource, Grid1_fields); return UIHelper.Result(); } 注意,控制器方法两个参数名称是约定好...,如果前台通过控件ID方式来传入自定义发参数: OnPageIndexChanged(Url.Action("Grid1_PageIndexChanged"), "Grid1") 后台接受请求参数名约定为...表格控件ID_fields:表格用到了哪些表格字段(如果不是表格,是IEnumrable对象,则对应于类属性列表),这个在数据绑定时需要用到。...因为表格可能存在很多字段,假设有 100 个,可能只有其中 10 个字段表格用到了。那么数据绑定时只返回这 10 个字段数据。...假设数据绑定没有传入这个参数,也是可以运行,只不过会返回很多冗余数据,也可能会造成关键数据泄密(比如密码等)。 最后,我们看下 MVC 中,分页请求正文: ?

    86680

    ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    ,更易于敏捷开发与测试驱动开发,有很强可扩展性;      2.因为没有服务器端控件,所以程序员控制会更加灵活,页面更加干净,没有ViewState;      3.通过修改路由规则,可以控制生成自定义...url,因此控制生成SEO友好URL更加容易;      4.强类型View实现、Razor视图、Model绑定机制、Model验证机制,更安全高效; 缺点: 学习成本高,结构复杂,对未变化数据不必要频繁访问...(4)ViewBag传递数据:我们对ViewBag动态属性进行赋值,实际上是存到了ViewData中,动态属性名存成了ViewDataDictionary键,动态属性存成了ViewDataDictionary...。...中查询数据需要转换合适类型 在ViewPage中查询数据不需要类型转换 有一些类型转换代码 可读性更好   (6)如何在程序中使用ViewData与ViewBag   ①在Controller中代码

    2K30

    ASP.Net MVC开发基础学习笔记:一、走向MVC模式

    ,更易于敏捷开发与测试驱动开发,有很强可扩展性;      2.因为没有服务器端控件,所以程序员控制会更加灵活,页面更加干净,没有ViewState;      3.通过修改路由规则,可以控制生成自定义...url,因此控制生成SEO友好URL更加容易;      4.强类型View实现、Razor视图、Model绑定机制、Model验证机制,更安全高效; 缺点: 学习成本高,结构复杂,对未变化数据不必要频繁访问...(4) ViewBag传递数据:我们对ViewBag动态属性进行赋值, 实际上是存到了ViewData中,动态属性名存成了ViewDataDictionary键,动态属性存成了ViewDataDictionary...。...中查询数据需要转换合适类型 在ViewPage中查询数据不需要类型转换 有一些类型转换代码 可读性更好   (6)如何在程序中使用ViewData与ViewBag   ①在Controller中代码

    89820

    ASP.NET MVC学习笔记04数据传递

    比如,最开始控制器讲解HelloController类中Welcome方法从浏览器获取一个name和numTimes参数,然后直接输出。...注意这里类型是ActionResult ,Message和 NumTimes 添加到ViewBag对象里。...ViewBag是一个动态对象,所以在没有ViewBag放置属性,它没有任何属性,您可以把任何您想放置对象放入到ViewBag对象中。...模型绑定(model binder) 使得数据从URL传递给控制器控制器数据装入到ViewBag对象中,通过该对象传递给视图。然后视图为用户生成显示所需HTML。...在上面的示例中,使用了 ViewBag对象把数据从控制器传递给了视图。在后面的文章中,将使用视图模型来数据从一个控制器传递到视图中。用视图模型来传递数据,这一般是首选办法。

    2.4K60

    ASP.NET MVC 5 - 数据从控制器传递给视图

    在我们讨论数据库和数据模型之前,让我们先讨论一下如何数据从控制器传递给视图。控制器响应请求来URL。...打开HelloWorldController.cs文件,更改 Welcome方法,Message和NumTimes添加到 ViewBag对象里。...ViewBag是一个动态对象,这意味着在您没有ViewBag放置属性,它没有任何属性,您可以把任何您想放置对象放入到 ViewBag对象中。...name=Scott&numtimes=4 现在,模型绑定(model binder) 使得数据从URL传递给控制器控制器数据装入到ViewBag对象中,通过该对象传递给视图。...然后视图为用户生成显示所需HTML。 ? 在上面的示例中,我们使用了ViewBag对象把数据从控制器传递给了视图。在本系列教程后面的文章中,我们将使用视图模型来数据从一个控制器传递到视图中。

    5K100

    MVC3教程之新手入门

    step3.让项目跑起来 我们需要添加一个名为Home控制器。在项目文件夹“Controllers”上面右键,鼠标移动到“添加”项,选择“控制器”,如下图: ?...ViewBag属性,它是一个新MVC3属性,MVC2 中控制器支持 ViewData 属性,允许通过后绑定字典数据传送给视图模板,在 MVC3 中,你可以通过 ViewBag 来更加简单完成。...你不需要通过类来定义任何强类型属性,因为这是动态属性,在内部,ViewBag 属性以名-形式保存在 ViewData 字典中。... ViewBag.Title是用来显示当前页面的标题ViewBag.name使我们在控制器中添加属性,在这里可以直接使用。...,这时因为我们为参数name指定了默认,它变成了一个可选参数,在没有传入参数时候,会采用默认“空字符串”,所以会有这个输出结果。

    1.5K20

    ASP.NET MVC5中View-Controller间数据传递

    使用ASP.NET MVC做开发,经常需要在页面(View)和控制器(Controller)之间传递数据,那么都有哪些数据传递方式呢?...对于Controller向View中传则列举了以下几种方式: 单个传递 Json 匿名类型 ExpandoObject ViewBag、ViewData、TempData ViewModel Cookie...Model绑定体现在从当前请求提取相应数据绑定到目标Action方法同名参数中。...对于这样一个Action,如果是Post请求,MVC会尝试Form(注意,这里Form不是指html中表单,而是Post方法发送数据方式,若我们使用开发者工具查看Post方式发送请求信息...,会看到Form Data一栏)中赋值到Action参数中,如果是get请求,MVC会尝试QueryString赋值到Action参数中。

    2.7K10

    ASP.NET MVC5高级编程——(2)MVC模式视图与Razor引擎

    3 ,常见情况是控制器需要向视图提供一些信息,所以会传递一个数据转移对象,叫做模型(此处模型指的是数据容器,就是类似于Javabean),而视图这个模型转换为一种适合显示给用户格式。 ?...,一种方法是专辑添加到ViewBag中,然后在视图中进行迭代。...注意,ViewBag和ViewData差异: 只有当要访问关键字是一个有效C#标识符ViewBag才起作用。...动态不能作为一个参数传递给扩展方法,因为C#编译器为了选择正确扩展方法,在编译必须知道每一个参数真正类型。...除了不能指定布局之外,部分视图看起来和正常视图没有分别: @ViewBag.Message 在使用Ajax技术进行更新,部分视图是很有用

    3.6K50

    ASP.NET Core 入门教程 5、ASP.NET Core MVC 视图传入门

    二、ASP.NET Core MVC 视图引擎(Razor)简介 1、ASP.NET Core MVC 视图引擎(Razor)概述 在MVC架构模式中,视图引擎/模板引擎负责控制器(Controller...控制器(Controller)再将渲染结果返回给请求客户端。 在 ASP.NET Core MVC框架中,提供了视图引擎:Razor。 Razor提供了后缀为.cshtml视图模板。...这是因为按照 ASP.NET Core MVC框架约定,当我们在控制器(Controller)返回一个视图(return View();),如果只指定了视图名称(ViewName),并没有指定视图完成路径...ViewBag 语法使添加到控制器和视图速度更快。 ViewBag 更易于检查 NULL 。 示例:@ViewBag.Person?....() { ViewBag.Title = "ViewBag示例"; ViewBag.Name = "ken"; ViewBag.Birthday = new DateTime

    2.2K50
    领券