2016-10-11 42 views
-1

enter image description here如何使用eval與其他?

我有兩個產品頁面。如果multipleProduct是false,它必須重定向到產品詳細-1.aspx,否則必須重新定向產品詳細-2.aspx頁。

編譯錯誤:<%其他

<asp:Repeater ID="rpProducts" runat="server"> 
    <ItemTemplate> 
     if <%# Eval("MultipleProduct").ToString() == "No") 
     {%> 
     <li> 
      <i class="fa fa-angle-right"></i>&nbsp; 
      <a href="ProductDetails-1.aspx?ProductID=<%# Eval("ID").ToString()%>" /><%# Eval("ProductName").ToString() %></a> 
     </li> 
    <% }%> 
    <% else 
     { %> 
     <li> 
      <i class="fa fa-angle-right"></i>&nbsp; 
      <a href="ProductDetails-2.aspx?ProductID=<%# Eval("ID").ToString()%>" /><%# Eval("ProductName").ToString() %></a> 
     </li> 
     <%} %>          
    </ItemTemplate> 
</asp:Repeater> 
+0

問題是什麼,你所面對? – TheGameiswar

+0

編譯錯誤:<%else – Shkupjane

+0

檢查圓括號。 –

回答

1

你的代碼是有點亂,嘗試新的方法,更易讀,少重複代碼,不容易出錯,在創建方法背後

你的代碼中創建您的ASPX類保護的方法來獲取該產品的URL。

protected string GetProductUrl(string multipleProduct, int ID) 
{ 
    string url = multipleProduct == "No" ? "ProductDetails-1.aspx" : "ProductDetails-2.aspx"; 

    return url + "?ProductID=" + ID; 
} 

然後在你的aspx文件中用下一個替換你的代碼。

<asp:Repeater ID="rpProducts" runat="server"> 
    <ItemTemplate> 
     <li> 
      <i class="fa fa-angle-right"></i>&nbsp; 
      <a href="<%# GetProductUrl(Eval("MultipleProduct").ToString(), (int) Eval("ID")) %>" > 
        <%# Eval("ProductName").ToString() %> 
      </a> 
     </li> 
    </ItemTemplate> 
</asp:Repeater> 
+0

我得到錯誤:數據綁定:「System.Data.DataRowView」不包含名爲「MultipleProduct」的屬性。 – Shkupjane

+0

in數據庫,MultipleProduct nvarchar(100) – Shkupjane