none
加入 HeaderTemplete 導致程式錯誤!!? RRS feed

  • 問題

  • 一隻簡單的程式,(使用VB,Net 2.0)

    <div>
     <asp:datalist runat="server" id="datalist1">
      <ItemTemplete>
       <asp:PlaceHolder runat="server" id="PlaceHolder1"></asp:PlaceHolder>
      </ItemTemplete>
     </asp:datalist>
    </div>

    後端寫程式在 ItemDataBound 事件
    由資料庫撈出資料
    並用 .controls.add() 加入 PlaceHolder 內
    原本正常
    但是後續想在上面加標頭如下(程式未動,在表單設計加入)
    <div>
     <asp:datalist runat="server" id="datalist1">
      <HeaderTemplete>
       <table><tr><th>欄位1</th><th>欄位2</th><th>欄位3</th><th>欄位4</th></tr></table>
      </HeaderTemplete>
      <ItemTemplete>
       <asp:PlaceHolder runat="server" id="PlaceHolder1"></asp:PlaceHolder>
      </ItemTemplete>
     </asp:datalist>
    </div>

    程式錯誤-->未設定物件變數或 With 區塊變數。
    換個位置,去掉 Header
    <div>
     <table><tr><th>欄位1</th><th>欄位2</th><th>欄位3</th><th>欄位4</th></tr></table>
     <asp:datalist runat="server" id="datalist1">
      <ItemTemplete>
       <asp:PlaceHolder runat="server" id="PlaceHolder1"></asp:PlaceHolder>
      </ItemTemplete>
     </asp:datalist>
    </div>

    <div>
     <asp:datalist runat="server" id="datalist1">
      <ItemTemplete>
       <table><tr><th>欄位1</th><th>欄位2</th><th>欄位3</th><th>欄位4</th></tr></table>
       <asp:PlaceHolder runat="server" id="PlaceHolder1"></asp:PlaceHolder>
      </ItemTemplete>
     </asp:datalist>
    </div>

    都正常,換成 Repeater 也一樣
    想請問各位大大有碰過類似的問題嗎??
    原因為何呢??

    2013年10月30日 上午 04:14

解答

  • 在教ItemDataBound 時你有指定處理的Type嗎?

    會不會處理到Header呢?

    If e.Item.ItemType = ListItemType.Item Or _
                 e.Item.ItemType = ListItemType.AlternatingItem Then

    • 已標示為解答 Y.T.Lin 2013年10月30日 上午 05:58
    2013年10月30日 上午 05:13

所有回覆

  • 在教ItemDataBound 時你有指定處理的Type嗎?

    會不會處理到Header呢?

    If e.Item.ItemType = ListItemType.Item Or _
                 e.Item.ItemType = ListItemType.AlternatingItem Then

    • 已標示為解答 Y.T.Lin 2013年10月30日 上午 05:58
    2013年10月30日 上午 05:13
  • 多謝大大!!!
    在程式加入 if  判斷句後,就沒再出現錯誤訊息。
    之前以為 ItemDataBound 只控制 ItemTemplete,看來是錯誤的。
    程式段打 "e.Item.ItemType =",下拉可選
    Header
    Footer
    EditItem
    AlternatingItem
    Item
    Pager
    SelectedItem
    SeperatorItem
    都可以用程式控制,之前都沒用到,殘念~~~

    2013年10月30日 上午 05:58