c# – 控制器后期 *** 作不接收模型

c# – 控制器后期 *** 作不接收模型,第1张

概述非常基本的型号: public class Person{ public string Name; public int Age;} 而且非常简单的观点: @model DynWebPOC.Models.Person@{ Layout = "~/Views/Shared/_Layout.cshtml";}Hello, @Model.Name<br/>You 非常基本的型号:

public class Person{    public string name;    public int Age;}

而且非常简单的观点:

@model DynWebPOC.Models.Person@{    Layout = "~/VIEws/Shared/_Layout.csHTML";}Hello,@Model.name<br/>You're getting old at @Model.Age years old Now!@using(HTML.BeginForm("Index","Test",FormMethod.Post)){    <fIEldset>               <label for="name" >name:</label>            @HTML.TextBoxFor(m => m.name)        <br/>        <label for="age" >Age:</label>        @HTML.TextBoxFor(m => m.Age)        <br/>        <input type="submit" value="submit"/>    </fIEldset>}

一个非常简单的控制器

public class TestController : Controller{    [httpGet]    public ActionResult Index()    {        object model = new Person {name = "foo",Age = 44};        return VIEw(model);    }   [httpPost]   public ActionResult Index(Person person)   {       return VIEw();   }}

加载屏幕时,值正确绑定到页面.但是当我按下提交按钮时,person对象具有age和amp;的所有空值.名称.

因为我使用了HTML.TextBoxFor,它不应该正确设置所有绑定并且对象应该自动绑定回POST吗?它在GET中绑定得很好..

我在HTML.BeginForm()的调用中错过了什么?

解决方法 您必须在模型中创建属性

public class Person{    public string name { get; set; }    public int Age { get; set; }}

代替

public class Person{    public string name;    public int Age;}

ASP.net MVC仅绑定属性.

总结

以上是内存溢出为你收集整理的c# – 控制器后期 *** 作不接收模型全部内容,希望文章能够帮你解决c# – 控制器后期 *** 作不接收模型所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1217911.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存