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

asp.net-mvc-3 – Razor:隐藏密码控制(2页注册)

发布时间:2020-12-16 09:52:02 所属栏目:asp.Net 来源:网络整理
导读:我正在用剃刀创建一个2页的注册过程.这里的难点是在第一页上收集数据(用户名,密码等),并使用隐藏的输入变量在第二页上存储第一页的数据. 这是我的隐藏代码: div id="hidden vals" style="display:none;" @Html.HiddenFor(model = model.userRegisterModel.U
我正在用剃刀创建一个2页的注册过程.这里的难点是在第一页上收集数据(用户名,密码等),并使用隐藏的输入变量在第二页上存储第一页的数据.

这是我的隐藏代码:

<div id="hidden vals" style="display:none;">
    @Html.HiddenFor(model => model.userRegisterModel.UserName)
    @Html.HiddenFor(model => model.userRegisterModel.studentFirstName)
    @Html.HiddenFor(model => model.userRegisterModel.studentlastName)
    @Html.HiddenFor(model => model.userRegisterModel.Email)
    @Html.PasswordFor(model => model.userRegisterModel.Password)
    @Html.PasswordFor(model => model.userRegisterModel.ConfirmPassword)

</div>

挑战在于密码和确认密码.我不想使用密码类型的隐藏字段,但我希望我的密码保持不变但未在页面源中显示.但是“PasswordFor”有一个侧面问题,即“减少”值并使用户重新填充.

因此,为了重新声明,我需要我的密码并确认持久性,并且最好不向用户显示.潮湿重要的是我需要我的密码并确认“查看源”中未隐藏的值

我的替代策略是使用会话变量来存储所有“页面1值”,但这有其他陷阱,我更喜欢避免.

解决方法

我可以建议一种不同的方法吗?而不是两页,使用两个DIV.

您仍然可以利用验证(客户端和远程)之类的内容,并确保用户无法在没有有效表单的情况下前进.如果有需要为第二页加载和/或创建的东西,您可以使用Ajax执行此操作,并且您的表单仍然可以在页面上生存,而无需使用隐藏字段或会话变量/超时.

<form ...>
  <div id="part-one">
    <!-- content... -->
  </div>

  <div id="part-two" style="display:none;">
    <!-- content... -->
  </div>

  <div>
     <button type="button" id="prev-div">Previous</button>
     <button type="button" id="next-div">Next</button>
     <button disabled="disabled" id="next-div">Submit</button>
  </div>
</form>

按钮保持可见,您可以使用jQuery切换它们的状态,如果您的需求更改了模型类和视图的更新,则只需要(如果您正在使用模型绑定).

(编辑:李大同)

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

    推荐文章
      热点阅读