2014-02-10 55 views
0

綁定ID動態上的文本框

<asp:TextBox ID="txtBidAmmount<%#Eval("id") %>" Width="250" runat="server"></asp:TextBox> 

那就沒辦法了,我已經讀了一些選項,我不得不更換"',所以我所做的:

<asp:TextBox ID='txtBidAmmount<%#Eval("id") %>' Width="250" runat="server"></asp:TextBox> 

但我得到:

Parser Error Message: 'txtBidAmmount<%#Eval("id") %>' is not a valid identifier. 
+0

你的文本框位於哪裏,在aspx頁面或類似的GridView或.....? – SMI

回答

0

您不能動態設置ID。也就是說,如果您有runat="server",則ID必須是COMPILE TIME CONSTANT

0

你可以嘗試使用ClientIDMode="Predictable"爲你的中繼器/ gridview?

Example from CodeProject article

<asp:GridView ID="EmployeesNoSuffix" runat="server" 
    AutoGenerateColumns="false" ClientIDMode="Predictable"> 
<Columns> 
    <asp:TemplateField HeaderText="ID"> 
     <ItemTemplate> 
       <asp:Label ID="EmployeeID" runat="server" Text='<%# Eval("ID") %>' /> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="Name"> 
     <ItemTemplate> 
       <asp:Label ID="EmployeeName" 
     runat="server" Text='<%# Eval("Name") %>' /> 
     </ItemTemplate> 
    </asp:TemplateField> 
</Columns> 
</asp:GridView> 

輸出HTML

<table id="EmployeesNoSuffix" style="border-collapse: collapse" 
    cellspacing="0" rules="all" border="1"> 
    <tbody> 
    <tr> 
     <th scope="col">ID</th> 
     <th scope="col">Name</th> 
    </tr> 
    <tr> 
     <td><span id="EmployeesNoSuffix_EmployeeID_0">1</span></td> 
     <td><span id="EmployeesNoSuffix_EmployeeName_0">EmployeeName1</span></td> 
    </tr> 
    ... 
    <tr> 
     <td> 
     <span id="EmployeesNoSuffix_EmployeeID_8">9</span> 
     </td> 
     <td> 
     <span id="EmployeesNoSuffix_EmployeeName_8">EmployeeName9</span> 
     </td> 
    </tr> 
    </tbody> 
</table> 
0

試試這個

ID='<%# "txtBidAmmount" + eval("id") %>' 

OR

ID='<%# Eval("id", "txtBidAmmount {0}") %>'