簡體   English   中英

ASP.NET:服務器標記格式不正確

[英]ASP.NET: The server tag is not well formed

我已經嘗試將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 Method。

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM