2009-12-18 5 views
0

J'ai construit un site web vide sur VS 2010. En utilisant la boîte à outils, j'ai mis un DataGridView sur mon default.aspx. Puis j'ai configuré la requête sql qui le remplit à partir du DataSource. Je voulais voir le code ADO qui est fait sous les couvertures. Mais il y a le fichier default.aspx, et les default.aspx.cs:où est l'autre définition de classe partielle de mon default.aspx.cs?

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

c'est le ASPX:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
     CellPadding="4" DataSourceID="SqlDataSource2" ForeColor="#333333" 
     GridLines="None" ondatabound="GridView1_DataBound"> 
     <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> 
     <Columns> 
      <asp:BoundField DataField="Title" ... 

le web.config:

<configuration> 
<connectionStrings... 
<system.web> 
    <compilation debug="true" targetFramework="4.0"/> 
</system.web> 
<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer> 
</configuration> 

Où est passé le fichier .designer.cs? Ou peut-être que le balisage aspx est tout ce qu'il y a? Et si oui, comment? Et où se trouve l'autre définition de classe partielle (si je supprime le mot 'partial' VS ne compilera pas et dira qu'il existe une autre définition de classe partielle)?

Répondre

2

L'autre partie de la classe est générée à partir du balisage (.aspx).

Si vous voulez voir le code, un moyen rapide est d'injecter d'abord une erreur dans le code généré par le balisage, en utilisant quelque chose comme <% error %>. Après cela, lorsque vous chargez la page, il signale l'erreur et vous donne un lien sur lequel vous pouvez cliquer pour voir le code source. Cependant, à partir de votre exemple, il semble que tout le travail est effectué par le contrôle et non par la page elle-même.

+0

J'ai vu le code dans 'temporary asp.net'. très cryptique. En tout cas, il y a des 'build control', 'build tree' ... Je me souviens d'avoir vu des fichiers designer.cs dans les jours qui avaient du code simple. Quoi qu'il en soit, il semble que tout ce qui est requis pour gérer la requête se trouve dans les fichiers .cs, donc je peux comprendre que le code aspx est juste un balisage qui est analysé en .net et non plus utilisé comme code ? – Hanan

+0

Oui, le fichier de marquage est analysé en code .NET. Le code généré enregistre tous les contrôles sur la page dans l'arborescence de contrôle, afin qu'ils puissent recevoir des événements lors du traitement de la page. Tout le balisage "simple" est inséré dans les contrôles ''. Tous les contrôles écrivent leur sortie au client pendant la phase de rendu du traitement de la page. – RickNZ

0

Avez-vous essayé avec un clic droit sur '_Default' et 'Find all references'?

+0

Maintenant que je l'ai essayé de manière surprenante, default.aspx.cs est la seule référence! – Hanan