2010-08-18 3 views
2

ASP.NET에서 시작하여 GridView를 사용하기가 어렵습니다. GridView 컨트롤에 넣으려는 Session 변수가 있지만 지식이 부족합니다. 파일 :GridView (ASP.NET)에서 세션 변수를 표시 하시겠습니까?

<%@ Page Title="Warehouse" Language="C#" AutoEventWireup="true" 
    MasterPageFile="~/Site.master" 
    CodeFile="Warehouse.aspx.cs" Inherits="Warehouse" %> 

<asp:Content ID="HeaderContent" runat="server" 
    ContentPlaceHolderID="HeadContent"> 
</asp:Content> 
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> 
    <h2> 
     Warehouse 
    </h2> 
    <asp:Panel ID="WarehousePanel" runat="server"> 
     <asp:GridView ID="GridView1" runat="server"> 
     </asp:GridView> 
    </asp:Panel> 
</asp:Content> 

코드 뒤에 나는 표시 목적으로 만 GridView1에 세션 변수를 추가하고 싶습니다. 나중에 데이터베이스에 연결될 것이지만 실제로는 세션 변수를 GridView1에 추가하는 방법을 알고 싶습니다. 파일 :

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

public partial class Warehouse : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      if (Session["milk"] == null) 
       Session["milk"] = "0"; 
      if (Session["apple"] == null) 
       Session["apple"] = "0"; 
      if (Session["orange"] == null) 
       Session["orange"] = "0"; 

      // on page load, add session variables ie Session["milk"].ToString(); 
      // column 1: inventory name 
      // column 2: inventory value 
      GridView1.? 
     } 
    } 

나는이 모든 것을 잘못 생각할 수도 있습니다. 내가 그렇게한다면, 올바른 길로 나를 정정하십시오! 듣기위한 고맙습니다.

+0

, 나는 당신이 더 많은 독서를 할 제안을 가정

는 다음과 같은 몇 가지 코드를했다. – leppie

답변

4

그것은 귀하를 Page_Load이 퍼팅처럼 간단합니다

// Sample to add a value to session to ensure that something is shown 
Session.Add("SessionValue1", "Value"); 

// Actual work of binding Session to the grid 
GridView1.DataSource = Session; 
GridView1.DataBind(); 

가 추가 조치 링크에서 데이터 바인딩의 몇 가지 예를 제공하기 때문에 귀하의 질문에 (들)에 응답 할 수있는 방법을가는 마이크로 소프트 Knowledge Base article있다 추가 세부 사항을 제공하는 기사.

var warehouseItems = 
    from item in DataTableContainingWarehouseItems.AsEnumerable() 
    select 
    new 
    { 
     InventoryName = item.Field<string>("Name"), 
     InventoryValue = item.Field<int>("Value"), 
     InventoryPrice = item.Field<decimal>("Price"), 
     StockOnHandValue = Convert.ToDecimal(item.Field<int>("Value") * item.Field<decimal>("Price")) 
    }; 

당신은 그 다음에 직접 결합 할 수 : 당신은 정말 어느 곳이라도 havent 한

GridView1.DataSource = warehouseItems; 
GridView1.DataBind(); 
+0

고맙습니다! 이것은 올바른 방향으로 나를 놓습니다 ... BR –

관련 문제