Bonjour,
Je souhaite juste explorer les possibilités offertes par XML et XSLT et donc j'ai créer un petit projet qui transforme un XML et sur base du résultat de cette transformation ajoute un control de type listview sur une page ASP. Après avoir ajouté la listview, j'essaye de faire un DataBind et j'ai ce message d'erreur "Value cannot be null.Parameter name: expression". Le problème ne se situe pas au niveau de la transformation XSLT mais vraiment lors du DataBind.
Code :
- OleDbConnection myConn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Inetpub\\wwwroot\\PerfMgt\\PerfMgt\\App_Data\\db3.mdb;Persist Security Info=False;" );
- OleDbCommand myCommand = new OleDbCommand ("SELECT OBJ_DESCRIPTION FROM PM_OBJECTIVE",myConn);
- OleDbDataAdapter myAdapter = new OleDbDataAdapter (myCommand);
- DataTable myDt = new DataTable();
- myAdapter.Fill(myDt);
-
- Control ctrl = UpdatePanel1.Page.ParseControl(sw.ToString().Replace("xmlns:asp=\"remove\"", "" ).Replace("<", "<" ).Replace(">", ">" ).Replace(""","\"" ));
- sw.Close();
- UpdatePanel1.ContentTemplateContainer.Controls.Add(ctrl);
- ListView lv = (ListView)UpdatePanel1.ContentTemplateContainer.FindControl("ListView1" );
- lv.DataSource = myDt;
- lv.DataBind();
|
L'objet sw est le résultat de ma transformation XSLT et vaut :
Code :
- <asp:ListView runat="server" ID="ListView1">
- <LayoutTemplate>
- <asp:PlaceHolder ID="itemPlaceholder" runat="server" />
- </LayoutTemplate>
- <ItemTemplate>
- <asp:Label runat='server' ID='TestID' Text='<% #Eval("OBJ_DESCRIPTION" ) >' />
- </ItemTemplate>
- </asp:ListView>
|
Il me donne le message d'erreur à la dernière ligne et j'ai vérifié mon DataTable contient des lignes. Il y a problement quelque chose que je n'ai pas initialiser mais je ne vois pas du tout. J'ai essayer de remplacer le DataBind par l'attribut "DataSource ou DataSourceID" mais j'ai la même erreur!
Merci.