为什么这个简单的MVC表单没有发布模型?

时间:2016-11-07 12:29:53

标签: asp.net-mvc

我设置了一个简单的dotnetfiddle,但是无法让模型出现在HttpPost动作中(认为它被调用,因为我可以手动设置vm.Name值,如果我对其进行硬编码以设置值)。

因此,如果您运行小提琴并在“名称”框中指定一个值并单击“保存”,而不是看到刚刚输入的名称,则会返回返回的初始值(“姓氏”)。如果在VS中调试它,则模型没有它的数据集。

dotnetfiddle

记录代码:

模型

public class Parent
{
    public String Name;

    public Parent()
    {
        Name = "Surname";

    }
}

控制器

public class FormsController : Controller
{
    // GET: Forms
    public ActionResult Index()
    {
        var p = new Parent();
        return View(p);
    }

    [HttpPost]
    public ActionResult Index(MobileMvc.Models.Parent vm)
    {
        //vm.Name = "dddd";
        return View(vm);
    }
}

查看

    @model MobileMvc.Models.Parent

@{
    ViewBag.Title = "Index";
}

@using (Html.BeginForm())
{
    @Html.AntiForgeryToken()

    <table class="table">

        <tr>
            <td>
                @Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-10" })
            </td>
            <td>
                @Html.TextAreaFor(model => model.Name, new { @class = "form-control", @style = "width: 100%" })
                @Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
            </td>
        </tr>



    </table>

    <div class="form-group">
        <div class="col-md-offset-5 col-md-7">
            <input type="submit" value="Save" class="btn btn-default" />
        </div>
    </div>
}

由于

ANSWER

呸!应该已经制作了字段属性 - 我浪费了几个小时的时间,并意识到我在这里发布帖子的5分钟内完成了什么 - 抱歉!

0 个答案:

没有答案