Salutations tous,Trouble with LINQ à GridView et DataBind RowDataBound
Je travaille sur la refonte de mon site Web personnel en utilisant VS 2008 et ont choisi d'utiliser LINQ pour créer par la couche d'accès aux données. Une partie de mon site sera une petite application pour mieux gérer mon budget. Ma première requête LINQ n'exécute avec succès et l'affichage dans un GridView
, mais lorsque je tente d'utiliser un événement RowDataBound
pour travailler avec les résultats et les affiner un peu, je reçois l'erreur:
The type or namespace name '
var
' could not be found (are you missing a using directive or an assembly reference?)
Cette partie intéressante est, si j'essaie juste de mettre un var s = "s";
n'importe où ailleurs dans le même fichier, j'obtiens la même erreur aussi. Si je vais à d'autres fichiers dans le projet Web, var s = "s";
se compile bien.
Voici l'appel de requête LINQ:
public static IQueryable pubGetRecentTransactions(int param_accountid)
{
clsDataContext db;
db = new clsDataContext();
var query = from d in db.tblMoneyTransactions
join p in db.tblMoneyTransactions on d.iParentTransID equals p.iTransID into dp
from p in dp.DefaultIfEmpty()
where d.iAccountID == param_accountid
orderby d.dtTransDate descending, d.iTransID ascending
select new
{
d.iTransID,
d.dtTransDate,
sTransDesc = p != null ? p.sTransDesc : d.sTransDesc,
d.sTransMemo,
d.mTransAmt,
d.iCheckNum,
d.iParentTransID,
d.iReconciled,
d.bIsTransfer
};
return query;
}
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.prvLoadData();
}
}
internal void prvLoadData()
{
prvCtlGridTransactions.DataSource = clsMoneyTransactions.pubGetRecentTransactions(2);
prvCtlGridTransactions.DataBind();
}
protected void prvCtlGridTransactions_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
var datarow = e.Row.DataItem;
var s = "s";
e.Row.Cells[0].Text = datarow.dtTransDate.ToShortDateString();
e.Row.Cells[1].Text = datarow.sTransDesc;
e.Row.Cells[2].Text = datarow.mTransAmt.ToString("c");
e.Row.Cells[3].Text = datarow.iReconciled.ToString();
}//end if
}//end RowDataBound
Mon googler à ce jour n'a pas trouvé une bonne réponse, je cède la parole à cette communauté de confiance. J'apprécie votre temps à m'aider.
Est-ce un projet de site Web ou d'application Web? –
Ceci est un projet de site Web. – Michael