2014-10-10 29 views
0

我一直在嘗試將progressBar轉換爲我的GridView一段時間。可惜沒有成功。目前,我有以下幾點:(服務器標記的格式不正確)ASP.NET:服務器標記格式不正確

<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,它的工作沒有任何問題。我想我在這裏失去了一些東西,但我真的找不到它。

+1

你爲什麼在這裏使用文字? – Andrei 2014-10-10 15:17:35

回答

1

出於某種原因,您的所有標記都是文字控制的文本。所以你有報價問題,因爲你需要雙引號Text=""Eval

個人而言,我認爲沒有理由在這裏使用文字,你可以使用標記原樣,問題就會迎刃而解:

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

謝謝你的回答。出於某種原因,我認爲ItemTemplate預計ASP控制。逃避這些報價非常困難。 – Nick 2014-10-10 15:32:39

-2

你必須使用eval方法,而不是文本的方法。

<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> 
相關問題