将行添加到 asp:gridview - 从文本框中获取值
本文关键字:文本 获取 gridview 添加 asp | 更新日期: 2023-09-27 18:37:09
我想将文本框中输入的值添加到同一页面上的网格视图中。我正在使用按钮和事件(btn_add_Click)来执行此操作。
我使用 IF 循环来检查网格视图的旧数据,并尝试在列表中维护它。
当我在文本框中输入数据时 - 第一次添加该行。但是第二次 - 当 Session["dt"] 携带数据时,它会在会话变量的类型转换处进入 IF 循环错误。
请建议如何键入转换会话 - 或在添加新行时如何维护网格视图的旧数据。
法典--
protected void btn_add_Click(object sender, EventArgs e)
{
List<Member> lstMember = new List<Member>();
if (Session["dt"] != null)
{
lstMember = (List<Member>)Session["dt"];
}
Member Member = new Member();
Member.Name = txt_NameMember.Text;
Member.Mobile = txt_MobileMem.Text;
Member.Email = txt_EmailMem.Text;
Member.Degree = txt_degreeMem.Text;
Member.Nationality = txt_NatMem.Text;
Member.Skills = txt_SkillsMem.Text;
lstMember.Add(new Member(Member));
gv_memDetails.DataSource = lstMember;
gv_memDetails.DataBind();
Session["dt"] = lstMember;
}
public class Member
{
public Member() { }
public Member(Member cust)
{
Name = cust.Name;
Mobile = cust.Mobile;
Email = cust.Email;
Degree = cust.Degree;
Nationality = cust.Nationality;
Skills = cust.Skills;
}
public string Name { get; set; }
public string Mobile { get; set; }
public string Email { get; set; }
public string Degree { get; set; }
public string Nationality { get; set; }
public string Skills { get; set; }
}
我检查了这个链接 - 它具有相同的类型转换。但是我的代码中出现了错误。
将新行数据添加到 gridview asp.net c#
_MY目标是通过从文本框中获取值来向 GRIDVIEW 添加一行...无论如何请建议....可能是一个新的...
将[Serializable]放在类名之前:
[Serializable]
public class Member
{ ... }
然后替换
Session["dt"]
跟
ViewState["dt"]
您遇到的错误是什么?确保未在回发中重置会话。尝试检查您的课程是否是您班级的列表:喜欢:
var data=Session["dt"];
if(data is List<Member>)
{
//your code here
}