ID值的绑定和获取

绑定了ID值却无法获取ID

在注册时我不仅新增了用户ID(图中的UserID)同时我还新增了VIP用户信息ID(图中的VIPuserInfoID),我现在需要根据图中的UserID来对图中蓝色选中部分进行数据的修改。
在这里插入图片描述
从注册登陆那一刻起,UserID就已经被确定,在需要用到UserID的视图中都需要事先获取到注册登录的UserID。然后通过ViewBag数据返回类型再将UserID传送到页面层。

获取到注册登录的userID方法:

string strUserId = Session[“UserID”].ToString(); //读取session中的用户信息
if (strUserId != “” || strUserId != null)
{ ViewBag.strUserId = strUserId; }

通过ViewBag数据返回类型将UserID传送至页面层方法:
第一种:直接使用ASP.NET Razor - 标记 var UserID = @ViewBag.strUserId;
第二种:在文本框中使用ASP.NET Razor - 标记给它添加value值

拓展:
1、 ASP.NET Razor - 标记,Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法。
2、 ViewBag和ViewData的区别:
ViewBag 是动态类型(dynamic),ViewData 是一个字典型的(Dictionary)。ViewBag 不再是字典的键值对结构,而是 dynamic 动态类型,它会在程序运行的时候动态解析。所以在视图中获取它的数据时候不需要进行类型转换

一般在视图获取到了userID并且在页面层也传递了userID,本应该传递useID不会出什么错,结果当我在进行VIP用户修改操作时,userID并没有传递过来。报错如下图红色圈中部分所示:
在这里插入图片描述

问题分析:出现问题有三种可能,第一种问题可能会是传参问题,在视图传递参数时,参数并没有传递到页面层;第二种可能会是从视图传参到页面层成功,但是页面层并没有获取到参数值(value);第三种可能呢,就是从视图传参到页面层成功,页面同时也能够获取到参数值,但是在次从页面传递参数到控制器传参失败。

检查过程中发现页面层能够获取到视图层传递给页面层的参数,但是参数并没有在文本框的value值中显示出来,也就意味着我在赋值过程中出现了bug。所以需要先给文本框的value值赋值,也就是将视图层传递给页面层的参数赋值给文本框的value值。

解决方法(具有ID值的标签赋value值方法):先获取到文本框中的值,再给文本框中值设定值。
举例:我现在需要给一个id =“UserId”的文本框赋value = “UserID”。
jQuery写法: $("#UserId").val(UserID);
注意:ID值要唯一哦。

在传参过程中,无非就是视图传递参数到页面层,页面层获取传递参数,再将传递的参数进行处理之后再次传递参数给控制器,只要在这个过程中没有出现错误,传递参数的方法基本也不会出错啦,解决了这三样,我的传参就OK啦,传参成功后如下图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值