1

我收到“服务器标签格式错误”。请看下面的代码:

<ul id="wizHeader">
               <asp:Repeater ID="SideBarList" runat="server">
                   <ItemTemplate>

                       <li>
                           <asp:LinkButton runat="server" CssClass="<%# GetClassForWizardStep(Container.DataItem) %>" Font-Bold="true" ID="SideBarButton" OnClick="Step_Click" Text="<%# Eval("Name") %>" ToolTip="<%# Eval(ID) %>"></asp:LinkButton>
                       </li>

                   </ItemTemplate>
               </asp:Repeater>
           </ul>
4

2 回答 2

3

您不能在服务器控件的属性中使用 <%#。

因此,如果您想在 Repeater 中使用 LinkBut​​ton,则必须使用 Repeater.ItemDataBound 事件在代码隐藏中绑定属性。

来自 MSDN 的示例:http: //msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeater.itemdatabound (v=vs.110).aspx

于 2013-11-26T17:25:25.753 回答
0

或者,您可以使用简单的锚标记并将所有绑定应用到它。并使其引起与您的按钮相同的回发。例子:

   <a onClick="javascript:__doPostBack('<%= SideBarButton.UniqueID %>')" class="<%# GetClassForWizardStep(Container.DataItem) %>"> <%# Eval("Name") %></a>

完成此操作后,您必须通过将其 css 显示属性设置为 none 来隐藏链接按钮。

长期工作。:)

于 2013-11-26T18:31:21.470 回答