ASP.NET:服务器标记的格式不正确
本文关键字:格式 不正确 NET 服务器 ASP | 更新日期: 2023-09-27 18:26:08
我已经尝试将progressBar
放入我的GridView
有一段时间了。遗憾的是没有成功。我目前有以下几种:
<asp:GridView ID="gvShow" runat="server" AutoGenerateColumns="False" DataKeyNames="Progress" Width="100%">
<Columns>
<asp:BoundField DataField="Progress" HeaderText="Progress" />
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:Literal ID="lbProgress" runat="server" Text="<div class='progress'><div class='progress-bar' role='progressbar' aria-valuenow='<%#Eval("Progress") %>' aria-valuemin='0' aria-valuemax='100' style='width: 60%;'><span class='sr-only'>60% Complete</span></div></div>"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
这导致语法分析器错误(服务器标记格式不正确。)。如果我用任何值替换eval,它就可以正常工作。我想我遗漏了一些东西,但我真的找不到了。
Text=""
和Eval
需要双引号。
就我个人而言,我认为没有理由在这里使用Literal,你可以按原样使用标记,问题就会消失:
<ItemTemplate>
<div class='progress'>
<div class='progress-bar' role='progressbar' aria-valuenow='<%#Eval("Progress") %>' aria-valuemin='0' aria-valuemax='100' style='width: 60%;'>
<span class='sr-only'>60% Complete</span>
</div>
</div>
</ItemTemplate>
您必须使用Eval方法而不是Text方法。
<ItemTemplate>
<div class='progress'>
<div class='progress-bar' role='progressbar' aria-valuenow='<%#Eval("Progress") %>' aria-valuemin='0' aria-valuemax='100' style='width: 60%;'>
<span class='sr-only'>60% Complete</span>
</div>
</div>