Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET:服务器标记的格式不正确_C#_Asp.net_Gridview - Fatal编程技术网

C# ASP.NET:服务器标记的格式不正确

C# ASP.NET:服务器标记的格式不正确,c#,asp.net,gridview,C#,Asp.net,Gridview,一段时间以来,我一直试图在GridView中添加一个progressBar。不幸的是没有成功。我目前有以下情况: <asp:GridView ID="gvShow" runat="server" AutoGenerateColumns="False" DataKeyNames="Progress" Width="100%"> <Columns> <asp:BoundField DataField="Progress" HeaderText="

一段时间以来,我一直试图在GridView中添加一个progressBar。不幸的是没有成功。我目前有以下情况:

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

你为什么在这里使用文字?谢谢你的回答。出于某种原因,我认为ItemTemplate需要一个ASP控件。逃避这些引用是非常困难的。