加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net mvc表单不发布参数值

发布时间:2020-12-16 03:38:25 所属栏目:asp.Net 来源:网络整理
导读:我正在达到我认为是一个非常愚蠢的问题,我显然错过了一些简单的问题. 我创建了一个简单的asp.net mvc站点(.net 4.5)并将索引更改为一个简单的表单,我只想回发自己并吐出变量. 这是我的表格 @using(Html.BeginForm()){ input type="text" class="form-control
我正在达到我认为是一个非常愚蠢的问题,我显然错过了一些简单的问题.

我创建了一个简单的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" />
}

这是我的帖子方法

[HttpPost]
public ActionResult Index(string empId,string account,string email)
{
    return Content(Request["empId"]);
}

当页面发布时,我什么也得不到.同样在调试器中我可以看到该方法被命中,但是即使我填写了表单,所有参数都是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" />
}

我总是建议使用某些字符串或int的模型绑定instrad.如果您使用它们,它将使模型绑定不费吹灰之力:

模型:

public class ExampleModel
{
public intempId { get; set; }
public string account{ get; set; }
public string email{ get; set; }
}

在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))进行验证.使用模型有很多好处!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读