asp.net
  • javascript
  • data-binding
  • gridview
  • 2009-09-10 75 views 0 likes 
    0

    我的gridview有一個帶有標籤的模板字段。我想使用QuestionID來標記字段,以便它不會創建重複的ID。Dynamic ID在GridView中不起作用。有沒有辦法來防止重複的ID在GridView中?

    我試着做以下幾點:

    <asp:TemplateField HeaderText="No"> 
        <InsertItemTemplate> 
         <label id='<%# (string.Format("Label_{0}", 
               DataBinder.Eval(Container.DataItem,"QuestionID"))) %>' 
            runat="server"></asp:Label> 
        </InsertItemTemplate> 
    </asp:TemplateField> 
    

    但我得到一個錯誤使用的標籤的ID屬性和簡單值說

    控件的ID屬性只能設置。

    有沒有人知道如何使它,以便我可以分配一個ID沒有它創建重複的ID?我想用JavaScript訪問每個人的方式。

    謝謝
    馬特

    回答

    0

    首先,你沒有得到,因爲重複的ID的這個錯誤。無論你以服務器控件身份作爲ID,asp.net都會生成一個新的ID並呈現它。你的例外是關於評估我認爲的ID屬性的價值。

    IMO,讓asp.net爲您的標籤生成ID。向你的標籤添加一個類,並使用JQuery來獲取標籤的所有實例。

    作爲替代方案,ASP:標籤呈現跨度爲輸出,這樣你就可以改變你的代碼,這樣的:

    <asp:TemplateField HeaderText="No"> 
        <InsertItemTemplate> 
         <span id='<%= (string.Format("Label_{0}", 
               DataBinder.Eval(Container.DataItem,"QuestionID"))) %>'> 
         </span> 
        </InsertItemTemplate> 
    </asp:TemplateField> 
    
    相關問題