【问题标题】:how to insert data in to grid view using asp.net without database如何在没有数据库的情况下使用 asp.net 将数据插入到网格视图中
【发布时间】:2011-10-28 19:43:39
【问题描述】:

我的代码中有这段代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    public class fields
    {
        public string firstname { get; set; }
        public string middlename { get; set; }
        public string lastname { get; set; }
        public string phonenumber { get; set; }

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        List<fields> data = new List<fields>();

        string fn = TextBox1.Text;
        string mn = TextBox3.Text;
        string ln = TextBox2.Text;
        string pn = TextBox4.Text;

        fields s = new fields();
        s.firstname = TextBox1.Text;
        s.middlename = TextBox3.Text;
        s.lastname = TextBox2.Text;
        s.phonenumber = TextBox4.Text;

        data.Add(s);

        GridView1.DataSource = data;
        GridView1.DataBind();



    }
}

我的视图中有四个文本框。当我单击提交按钮我的页面时,我试图在网格中显示这些数据。但我无法在网格中显示数据。

谁能帮帮我。

【问题讨论】:

    标签: asp.net gridview


    【解决方案1】:

    使用这个:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    [Serializable]
    public class fields
    {
        public string firstname { get; set; }
        public string middlename { get; set; }
        public string lastname { get; set; }
        public string phonenumber { get; set; }
    
    }
    
    public partial class _Default : System.Web.UI.Page
    {
        List<fields> data = null;
    
        protected void Page_Load(object sender, EventArgs e)
        {
            data = ViewState["_data"] as List<fields>;
            if (data == null) 
                data = new List<fields>();
        }
    
        protected void Button1_Click(object sender, EventArgs e)
        {
            string fn = TextBox1.Text;
            string mn = TextBox3.Text;
            string ln = TextBox2.Text;
            string pn = TextBox4.Text;
    
            fields s = new fields();
            s.firstname = TextBox1.Text;
            s.middlename = TextBox3.Text;
            s.lastname = TextBox2.Text;
            s.phonenumber = TextBox4.Text;
    
            data.Add(s);
            ViewState["_data"] = data;
    
            GridView1.DataSource = data;
            GridView1.DataBind();
        }
    }
    

    希望它有效!

    【讨论】:

    • 我收到此错误。在程序集“App_Web_3zhqnips, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null”中键入“_Default+fields”未标记为可序列化。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。异常详细信息:System.Runtime.Serialization.SerializationException:在程序集“App_Web_3zhqnips,Version=0.0.0.0,Culture=neutral,PublicKeyToken=null”中键入“_Default+fields”未标记为可序列化。
    • 您必须将fields 类标记为Serializable。我已经更新了上面的代码。请检查
    • 是的,我做了 Abdul,但问题是我没有看到网格中的数据。当我单击提交按钮我的页面时,我怎么能看到逐行增加。我不是行中的数据。
    • 我没有看到任何不工作的理由!你确定你测试了我的更新代码吗?
    • 非常感谢您的指导。我成功地使用了你的编码。但是只有一行是持久的,所有先前的行都被删除。怎么做?
    猜你喜欢
    • 2022-07-21
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-10
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多