17. oktober 2004 - 14:35Der er
12 kommentarer og 1 løsning
Session og global.asax problemer
Jeg har et problem med mine hjemmesider, når jeg vil gøre brug af mine sessions. Jeg får følgende fejl:
Compiler Error Message: CS0234: The type or namespace name 'Global' does not exist in the class or namespace 'System.Web.UI.WebControls.DataGrid' (are you missing an assembly reference?)
Source Error:
Line 26: Line 27: [System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()] Line 28: public class Global_asax : DataGrid.Global { Line 29: Line 30: private static bool __initialized = false;
Source File: c:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\datagrid\827e165f\a4dd7967\zr_mie3e.0.cs Line: 28
Jeg har selvfølgelig sikret mig, at jeg kun har én Global.asax fil i namespacet DataGrid. Men den kan tydeligvis ikke finde den. Hvorfor ikke?
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls;
namespace DataGrid { public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.DataGrid MyDataGrid; protected System.Web.UI.WebControls.DataGrid ShoppingCart;
// e.Item is the row of the table where the command fired // For bound columns the value is stored in the Text property of TableCell TableCell itemCell = e.Item.Cells[1]; TableCell priceCell = e.Item.Cells[2]; string item = itemCell.Text; string price = priceCell.Text;
if (((LinkButton)e.CommandSource).CommandName == "AddToCart") { dr[0] = item; dr[1] = price; Cart.Rows.Add(dr); } else { //Remove from Cart
#region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); }
/// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load);
Undskyld, det er eksempel 6 jeg har rodet med og som giver fejlen. Ovenstående er koden til eksempel 5. Jeg har lagt eksempel 6 koden ind istedet i mit projekt, men det giver samme fejl...
#region Web Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.components = new System.ComponentModel.Container(); } #endregion } }
Hvis aspx-filen er interessant ser den således ud:
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="DataGrid.WebForm1" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <body style="FONT: 10pt verdana"> <form runat="server" ID="Form1"> <h3><font face="Verdana">Using an Edit Command Column in DataGrid</font></h3> <asp:DataGrid id="MyDataGrid" runat="server" BorderColor="black" BorderWidth="1" CellPadding="3" Font-Name="Verdana" Font-Size="8pt" HeaderStyle-BackColor="#aaaadd" OnEditCommand="MyDataGrid_Edit" OnCancelCommand="MyDataGrid_Cancel" OnUpdateCommand="MyDataGrid_Update" AutoGenerateColumns="false">
uhm, nu skiftede jeg namespace navnet ud med DataGridTest i Global.asax og i aspx filen... nu virker det. Mystisk! Må namespacet ikke have samme navn, som solution og projektet?
jo det er der ingen problemer i, men det kan være at den kløjs i at der er en klasse der hedder datagrid (selvom den egentlig ikke burde). mvh
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.