強類型ASP.NET數據綁定改進版

作者: dudu  來源: 博客園  發布時間: 2011-01-31 13:04  閱讀: 1210 次  推薦: 0   原文鏈接   [收藏]  

  相關文章:教你30秒打造強類型ASP.NET數據綁定強類型ASP.NET數據綁定改進版之第2版

  看了dragonpig寫的“教你30秒打造強類型ASP.NET數據綁定”,眼前一亮,真是太給力了,原來還可以這樣進行數據綁定。

  立即小試了一下,并進行了一些改進,目前已經應用于Home中的新聞欄目。下面分享一下改進心得。

  使用傳統的ASP.NET數據綁定方法,有兩個地方一直讓人不爽:

  1) 缺少智能感知;

  2) 強制類型轉換。

  先回味一下傳統的ASP.NET數據綁定:

  看看上面的ToString(),(DateTime)...

  dragonpig的強類型綁定思路已經包含了解決這兩個問題的方法,但在他展示的代碼中,解決了第一個問題(智能感知),卻忽略了第二個問題(強制類型轉換),原始代碼如下:

 
protected virtual object ExpHelper<TEntity, TREsult>(Func<TEntity, TREsult> func)
{
var itm
= GetDataItem();
return func((TEntity)itm);
}

protected object Stu<TResult>(Func<Student, TResult> func)
{

return ExpHelper<Student, TResult>(func);
}

  我在使用中發現還要進行強制類型轉換,有點不爽,研究了一下,原來是object惹的禍,只要把上面代碼中的兩個object改為TResult,問題就解決了。

  另外,我把Stu方法名改為了Eval,感覺這樣更友好。

  上代碼:

 
protected virtual TREsult ExpHelper<TEntity, TREsult>(Func<TEntity, TREsult> func)
{
var item
= base.GetDataItem();
return func((TEntity)item);
}

protected TResult Eval<TResult>(Func<NewsInfo, TResult> func)
{

return ExpHelper<NewsInfo, TResult>(func);
}

  有了“強類型ASP.NET數據綁定”之后的日子真美好...

  感謝dragonpig!你的分享太給力了!

0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()