2011-10-28 21 views
0

私はこのコードを自分のコードの中に入れています。データベースなしでasp.netを使用してグリッドビューにデータを挿入する方法

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(); 



    } 
} 

私の視野には4つのテキストボックスがあります。私は私のページを送信ボタンをクリックすると、それらのデータをグリッドに表示しようとしています。しかし、グリッドにデータを表示することはできません。

私はどんなボディも助けてくれます。

答えて

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(); 
    } 
} 

は、それが作品を願って!

+0

このエラーが発生しています。アセンブリ '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'をシリアル化可能としてマークしていません。 – user957178

+0

'fields'クラスを' Serializable'とマークする必要があります。上記のコードを更新しました。確認してください –

+0

はい私はそのAbdulをしましたが、問題は私がグリッド内のデータを見ていないことです。どのように私は私のページを送信ボタンをクリックすると、行ごとに増加することができます。私は行のデータではありません。 – user957178

関連する問題