Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
asp.net mvc表单未过帐参数值_Asp.net_Asp.net Mvc - Fatal编程技术网

asp.net mvc表单未过帐参数值

asp.net mvc表单未过帐参数值,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我碰到了一个我认为非常愚蠢的问题,我显然错过了一些简单的东西 我制作了一个简单的asp.net mvc站点(.net 4.5),并将索引更改为一个简单的表单,我只想将其发回自身并吐回变量。 这是我的表格 @using(Html.BeginForm()) { <input type="text" class="form-control" id="empId" placeholder="Enter EmployeeId (ex. 999999)"> <input t

我碰到了一个我认为非常愚蠢的问题,我显然错过了一些简单的东西

我制作了一个简单的asp.net mvc站点(.net 4.5),并将索引更改为一个简单的表单,我只想将其发回自身并吐回变量。
这是我的表格

@using(Html.BeginForm())
{
    <input type="text" class="form-control" id="empId" placeholder="Enter EmployeeId (ex. 999999)">
    <input type="text" class="form-control" id="account" placeholder="Enter account)">
    <input type="email" class="form-control" id="email" placeholder="Enter email">
    <input type="submit" class="btn btn-default" value="Submit" />
}
当页面发布时,我什么也没有得到。此外,在调试器中,我可以看到该方法被命中,但是所有参数都为null,即使我填写了表单


我是否遗漏了一些明显的内容?

您只是忘记了name属性:

@using(Html.BeginForm())
{
    <input type="text" class="form-control" name="empId" id="empId" placeholder="Enter EmployeeId (ex. 999999)">
    <input type="text" class="form-control" name="account" id="account" placeholder="Enter account)">
    <input type="email" class="form-control" name="email" id="email" placeholder="Enter email">
    <input type="submit" class="btn btn-default" value="Submit" />
}
在Razor页面中:

@using(Html.BeginForm())
    {
        @Html.EditorFor((m => m.intempId, new { @class = "form-control" } ))
        @Html.EditorFor((m => m.account, new { @class = "form-control" }))
        @Html.EditorFor((m => m.email, new { @class = "form-control" }))
    }
然后在控制器中:

[HttpPost]
public ActionResult Index(ExampleModel model)
{
    return Content(model.empId);
}

对于模型,您还可以直接在模型上添加验证等,然后ASP.NET MVC可以将验证放在前端和jQuery验证以及后端(if(ModelState.IsValid))。使用模型有很多好处

在id之外添加名称:name=“empId”、name=“account”、name=“email”、。。。在测试之后,请考虑使用模型绑定和模型,它更干净/智能:-谢谢!这解决了我的问题。我将放弃对DaySoice的编程,我做了一个完整的回答,如果考虑到我的情况,请考虑验证它,我的模型属性是字段而不是C属性。感谢您提供了在MVC中正确处理这些事情的OP:在开始新技术时,总是欢迎一点帮助:
@using(Html.BeginForm())
    {
        @Html.EditorFor((m => m.intempId, new { @class = "form-control" } ))
        @Html.EditorFor((m => m.account, new { @class = "form-control" }))
        @Html.EditorFor((m => m.email, new { @class = "form-control" }))
    }
[HttpPost]
public ActionResult Index(ExampleModel model)
{
    return Content(model.empId);
}