2011-10-28 2 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(); 



    } 
} 

내보기에는 네 개의 텍스트 상자가 있습니다. 내 페이지 제출 단추를 클릭 할 때 해당 데이터를 그리드에 표시하려고합니다. 그러나 그리드에 데이터를 표시 할 수 없습니다.

어떤 몸이라도 나를 도와 줄 수 있습니다.

답변

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, 버전 = 0.0.0.0, Culture = neutral, PublicKeyToken = null'어셈블리의 '_Default + fields'유형이 직렬화 가능으로 표시되어 있지 않습니다. 설명 : 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드에서 시작된 위치에 대한 자세한 정보는 스택 추적을 검토하십시오. 예외 정보 : System.Runtime.Serialization.SerializationException : 'App_Web_3zhqnips, 버전 = 0.0.0.0, Culture = neutral, PublicKeyToken = null'어셈블리의 '_Default + fields'형식이 직렬화 가능으로 표시되어 있지 않습니다. – user957178

+0

'fields' 클래스를'Serializable'으로 표시해야합니다. 위의 코드를 업데이트했습니다. –

+0

예 압둘 (Abdul)을했는데 그리드의 데이터가 보이지 않는 문제가 있습니다. 어떻게하면 내 페이지를 제출 버튼을 클릭하면 늘어나는 행을 볼 수 있습니다. 나는 행에있는 데이터가 아닙니다. – user957178

관련 문제