宝哥软件园

ASP.NET MVC 5网站开发3 (7)用户数据修改删除

编辑:宝哥软件园 来源:互联网 时间:2021-09-07

这次主要是在管理后台界面实现用户数据的修改和删除。修改用户数据和角色是一个经常使用的功能,但是删除用户的情况比较少见,为了功能的完整性,有必要坐在上面。主要使用“修改”和“删除”两个动作。

1.用户数据的修改

该功能分为两部分:

公共操作结果修改(int id)用于显示用户信息

[http set]

公共动作结果修改(表单集合表单)用户从前台接收信息并修改它

1.显示用户信息

///summary ///修改用户信息////summary//param name=' id '用户主键/param ///返回部分视图/返回公共操作结果modify(int id){//角色列表var _ roles=new role manager()。find list();ListSelectListItem _ list items=new ListSelectListItem(_ roles。count());foreach(var _ role in _ roles){ _ list items。添加(新的SelectListItem() { Text=_role。名称,值=_角色。RoleID . ToString()});} ViewBag。角色=_列表项;//角色列表结束返回部分视图(user manager . find(id));}此操作有一个参数id,它接收传入的用户ID,查询操作中的角色信息,使用viewBage将其传输到视图,并通过return partial view(user manager . find(ID))将用户模型传输到视图,以返回partial view。

视图代码如下:

@模型尼尼微核心。用户@使用(Html .begin inform()){ @ Html .antiforyToken()div class=' form-horizontal ' @ Html .ValidationSummary(true ' ',new { @ class=' text-danger ' })@ Html .HiddenFor(model=model .UserID)div class=' form-group ' @ Html .标签(型号=型号.RoleID,HTMl Attributes s 3360 new { @ class=' control-label col-MD-2 ' })div class=' col-MD-10 ' @ Html .DropDownListFor(model=model .RoleID,(IEnumerableSelectListItem)视图包。角色,新的{ @class='form-control' }) @Html .ValidationMessageFor(model=model .RoleID“”,new { @ class=' text-danger ' })/div/div class=' form-group ' @ Html .标签(型号=型号.Username,HTMl Attributes s 3360 new { @ class=' control-label col-MD-2 ' })div class=' col-MD-10 ' @ Html .编辑(模型=模型.用户名,新{ HTMl Attributes=new { @ class=' form-control ',disabled='disabled' } }) @Html .ValidationMessageFor(model=model .用户名',new { @ class=' text-danger ' })/div/div class=' form-group ' @ Html .标签(型号=型号.名称,HTMl Attributes s 3360 new { @ class=' control-label col-MD-2 ' })div class=' col-MD-10 ' @ Html .编辑(模型=模型.名称,新的{ HTMl Attributes=new { @ class=' form-control ' } })@ Html .ValidationMessageFor(model=model .名称',new { @ class=' text-danger ' })/div/div class=' form-group ' @ Html .标签(型号=型号.Sex,HTMl Attributes s 3360 new { @ class=' control-label col-MD-2 ' })div class=' col-MD-10 ' @ Html .收音机按钮(型号=型号1 .性,1)男@Html .收音机按钮(型号=型号1 .性别,0)女@Html .收音机按钮(型号=型号1 .性,2)保密@Html .ValidationMessageFor(model=model .Sex ' ',new { @ class=' text-danger ' })/div/div class=' form-group ' @ Html .标签(型号=型号.密码,HTMl Attributes s 3360 new { @ class=' control-label col-MD-2 ' })div class=' col-MD-10 ' @ Html .编辑(模型=模型.密码,new { HTMl Attributes=new { @ class=' form-control ' } })@ Html .ValidationMessageFor(model=model .密码'',新的{ @ class=' text-danger ' })/div/div class=' form-group ' @ Html .标签(型号=型号.电子邮件,HTMl Attributes s 3360 new { @ class=' control-label col-MD-2 ' })div class=' col-MD-10 ' @ Html .编辑(模型=模型.电子邮件,新的{ HTMl Attributes=new { @ class=' form-control ' } })@ Html .ValidationMessageFor(model=model .电子邮件'',新的{ @ class=' text-danger ' })/div/div class=' form-group ' @ Html .标签(型号=型号.LastLoginTime,HTMl属性3360 new { @ class=' control-label col-MD-2 ' })div class=' col-MD-10 ' @ Html .编辑(模型=模型.LastLoginTime,new { HTMl Attributes=new { @ class=' form-control ',disabled='disabled' } }) @Html .ValidationMessageFor(model=model .LastLoginTime,',new { @ class=' text-danger ' })/div/div class=' form-group ' @ Html .标签(型号=型号.LastLoginIP,HTMl Attributes s 3360 new { @ class=' control-label col-MD-2 ' })div class=' col-MD-10 ' @ Html .编辑(模型=模型.LastLoginIP,new { HTMl Attributes=new { @ class=' form-control ',disabled='disabled' } }) @Html .ValidationMessageFor(model=model .LastLoginIP,',new { @ class=' text-danger ' })/div/div class=' form-group ' @ Html .标签(型号=型号.RegTime,HTMl Attributes s 3360 new { @ class=' control-label col-MD-2 ' })div class=' col-MD-10 ' @ Html .编辑(模型=模型.RegTime,new { HTMl Attributes=new { @ class=' form-control ',disabled='disabled' } }) @Html .ValidationMessageFor(model=model .RegTime,',new { @ class=' text-danger ' })/div/div/div } 2,修改用户资料的后台处理

[httpset][validateantforgretoken]公共操作结果修改(int id,FormCollection表单){ Response _resp=新辅助response();var _user=userManager .find(id);如果(TryUpdateModel(_user,新字符串[] { 'RoleID ',' Name ',' Sex ',' Email ' }){ if(_ user==null){ _ resp .代码=0;_resp .消息='用户不存在,可能已被删除,请刷新后重试;} else { if (_user .密码!=表单['密码']。ToString()) _user .密码=安全性SHA256(表单['密码'])。ToString());_resp=用户管理器.update(_ user);} } else { _resp .代码=0;_resp .消息=常规. getmodelarrstring(ModelState);}返回JSON(_ resp);}此方法有两个参数编号和表单集合表单,不用用户直接做模型的原因是因为用户会把前台所有数据都接收过来,这里我并不想允许修改用户名,所以在方法中使用TryUpdateModel绑定允许用户修改的属性尝试更新模型在绑定失败时同样会在在模型状态中记录错误,可以利用自定义方法GetModelErrorString获取到错误信息并反馈给视图。

2、前台显示和处理

打开索引视图找到表格初始化方法,格式化列"用户名"使其显示一个连接,代码红线部分。

使其看起来这个样子,当用户点击连接的时候可以显示修改对话框

弹出窗口和发送到服务器的射流研究…代码写到表格的加载成功方法里

加载成功:函数(){ //修改$(' a[数据方法='修改']')。单击(function () { var id=$(this)).attr('数据值');var modify dialog=new BootstrapDialog({ title : ' span class=' glyphicon glyphicon-user '/span修改用户,消息:函数(对话框){ var $ message=$(' div/div ');var page toload=dialog。getdata(' page to load ');$消息。加载(页面加载);返回$ message},数据: { ' PageToLoad ' : ' @ URl .操作(“修改”)/“标识”),按钮:[{ icon : ' glyphicon-plus ',标签: '保存,操作:函数(dialogItself) { $ .帖子($(“表单”).attr('action '),$('form ').serializeArray(),函数(数据){ if(数据)。代码==1){ bootstrapdialog。显示({消息:数据.消息,按钮:[{ icon : ' glyphicon-ok ',标签: '确定,操作:函数(dialogItself){ $ table。bootstraptable(' refresh ');dialogitself。close();修改对话框。close();} }] });} else BootstrapDialog.alert(数据。消息);},' JSON ');$(“表单”).validate();} },{ icon : ' glyphicon glyphicon-remove ',标签: '关闭,操作:函数(dialogItself){ dialogItself。close();} }] });修改对话框。open();});//修改结束}显示效果如下图

二、删除用户

用户控制器中添加删除方法

///摘要///删除////summary ///param name='id '用户ID/param///returns/returns[HttpSet]公共操作结果Delete(int ID){ return Json(UserManager .删除(id));}打开索引视图找到表格初始化方法,添加"操作"列格式化列使其显示一个删除按钮,代码红框部分。

前台显示效果

然后在表格的加载成功方法里刚写的修改用户信息的射流研究…代码后面写删除用户的射流研究…代码

//修改结束//删除按钮$(' a[数据方法='Delete']').单击(function () { var id=$(this)).attr('数据值');' BootstrapDialog.confirm('你确定要删除$(这个)。父项()。父项()。查找(' td ').等式(3)。' text()'吗?n建议尽可能不要删除用户",",函数(结果){ if(结果){ $。帖子(' @ Url .操作(“删除”,“用户”),{ id: id },函数(数据){ if(数据代码==1){ bootstrapdialog。显示({消息: '删除用户成功,按钮: [{ icon : ' glyphicon-ok ',标签: '确定,操作:函数(dialogItself){ $ table。bootstraptable(' refresh ');dialogitself。close();} }] });} else BootstrapDialog.alert(数据。消息);},' JSON ');} });});//删除按钮结束} });//表格结束前台显示效果

==========================================

代码下载请见http://www.cnblogs.com/mzwhj/p/5729848.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

更多资讯
游戏推荐
更多+