在MVC3中编辑页面时Get的参数名与Post里的Model参数一致时不需要在View页面再绑定参数

简介: //get 更改密码 public ActionResult ResetPassword(Guid? userid) { var item = _db.
 //get 更改密码
        public ActionResult ResetPassword(Guid? userid)
        {
            var item = _db.Users.Find(userid);
            return View(item);
        }

        [HttpPost]
        public ActionResult ResetPassword(Proweb.Models.User user)
        {
            try
            {
                var item = _db.Users.Single(u => u.UserId.Equals(user.UserId));
                item.Password = (user.UserId + user.Password).GetMD5();
                _db.Entry(item).State = EntityState.Modified;
                _db.SaveChanges();
                return View("Close");
            }
            catch (Exception ex)
            {
                ViewBag.ErrorMsg = "发生错误了!错误信息为:" + ex.Message;
                return View("Error");
            }

        }

在View页面里不需要绑定UserId

@model User

@{
    Layout = "~/Areas/Mana/Views/Shared/_Layout_detail.cshtml";
}
@using (Html.BeginForm())
{
    <fieldset>
    <legend>初始化密码</legend>
    <table id="table-detail" cellpadding="2px">
      <tr>
        <th>@Html.LabelFor(modelitem => modelitem.RealName)</th>
        <td>@Html.TextBoxFor(model => model.RealName, new { readOnly = "readOnly", style = "background-color: #EFEFEF;padding: 2px;" }) 不允许编辑  @Html.ValidationMessageFor(model => model.RealName)</td>
      </tr>
      <tr>
        <th>@Html.LabelFor(modelitem => modelitem.UserAccount )</th>
        <td>@Html.TextBoxFor(model => model.UserAccount, new { readOnly = "readOnly", style = "background-color: #EFEFEF;padding: 2px;" }) 不允许编辑  @Html.ValidationMessageFor(model => model.UserAccount)</td>
      </tr>
      <tr>
        <th>@Html.LabelFor(model => model.Password)</th>
        <td>@Html.TextBoxFor(model => model.Password, new { Value = "",type="password" }) @Html.ValidationMessageFor(model => model.Password)</td>
      </tr>
      <tr align="center"><td colspan="2"><input type="submit" value="保存" class="ui-state-default button2pointer"/>    <input type="reset" value="重置" class="ui-state-default button2pointer"/></td></tr>
    </table>
    </fieldset> 
} 

如果在 ResetPassword(Guid? userid)这里的参数“userid”如果更换成:id那么在View页面就要隐藏绑定Userid不然Post时会出错。
就是说要在View里加上:@Html.HiddenFor(item=>item.UserId)

学习交流群:364976091
相关文章
|
29天前
|
JSON 前端开发 Java
Spring MVC——获取参数和响应
本文介绍了如何在Spring框架中通过不同的注解和方法获取URL参数、上传文件、处理cookie和session、以及响应不同类型的数据。具体内容包括使用`@PathVariable`获取URL中的参数,使用`MultipartFile`上传文件,通过`HttpServletRequest`和`@CookieValue`获取cookie,通过`HttpSession`和`@SessionAttribute`获取session,以及如何返回静态页面、HTML代码片段、JSON数据,并设置HTTP状态码和响应头。
48 1
Spring MVC——获取参数和响应
|
3月前
|
前端开发 JavaScript
MVC中简单数据模型(M): Model类
MVC中简单数据模型(M): Model类
|
3月前
|
XML 前端开发 Java
Spring MVC接收param参数(直接接收、注解接收、集合接收、实体接收)
Spring MVC提供了灵活多样的参数接收方式,可以满足各种不同场景下的需求。了解并熟练运用这些基本的参数接收技巧,可以使得Web应用的开发更加方便、高效。同时,也是提高代码的可读性和维护性的关键所在。在实际开发过程中,根据具体需求选择最合适的参数接收方式,能够有效提升开发效率和应用性能。
119 3
|
3月前
|
XML 前端开发 Java
Spring MVC接收param参数(直接接收、注解接收、集合接收、实体接收)
Spring MVC提供了灵活多样的参数接收方式,可以满足各种不同场景下的需求。了解并熟练运用这些基本的参数接收技巧,可以使得Web应用的开发更加方便、高效。同时,也是提高代码的可读性和维护性的关键所在。在实际开发过程中,根据具体需求选择最合适的参数接收方式,能够有效提升开发效率和应用性能。
176 2
|
3月前
|
XML 前端开发 Java
Spring MVC接收param参数(直接接收、注解接收、集合接收、实体接收)
Spring MVC提供了灵活多样的参数接收方式,可以满足各种不同场景下的需求。了解并熟练运用这些基本的参数接收技巧,可以使得Web应用的开发更加方便、高效。同时,也是提高代码的可读性和维护性的关键所在。在实际开发过程中,根据具体需求选择最合适的参数接收方式,能够有效提升开发效率和应用性能。
36 0
|
6月前
|
前端开发 Java Spring
参数解密:揭示Spring MVC请求参数处理的实际应用指南
参数解密:揭示Spring MVC请求参数处理的实际应用指南
45 1
|
6月前
|
前端开发 Java Spring
Java 新手如何使用Spring MVC 中的查询字符串和查询参数
Java 新手如何使用Spring MVC 中的查询字符串和查询参数
|
6月前
|
XML 前端开发 应用服务中间件
Cannot resolve MVC View解决方案
Cannot resolve MVC View解决方案
207 0
Cannot resolve MVC View解决方案
|
6月前
|
JSON 前端开发 Java
开发必备技能:探索Spring MVC请求映射和参数绑定的奇妙之旅!
开发必备技能:探索Spring MVC请求映射和参数绑定的奇妙之旅!