2017-09-01 48 views
1

我有一個程序顯示了兩種類型的價格。如果用戶註冊,他/她將看到正常價格和折扣;如果用戶未註冊,他/她將只看到正常價格。所以我想在這種情況下隱藏打折的。如何隱藏/顯示在ASP.NET中動態創建的HTML元素

string resumen = "<div id='coliz'>"; 

     resumen += "<img src='img/" + p.getNombre().ToLower().Replace(" ", "_") + "_" + p.getColor().ToLower().Replace(" ", "_") + ".png' alt=''/>" + 
     "<div class='presupuesto'>" + 
     "<div id=pvp runat='server'><h2>PVP</h2><h2 class='precio' id='precio' data-val='" + p.getPrecio() + "'>" + String.Format("{0:C}", p.getPrecio()) + "</h2></div>" + 
     "<div id=pvd runat='server'><h2>PVD</h2><h2 class='precio' id='preciopvd' data-val='" + p.getPrecio() + "'>" + String.Format("{0:C}", p.getPrecio()) + "</h2></div>" + 
     "<ul class='caracteristicas'>"; 

我從數據庫中動態地確定的價格創建HTML內容

<div id="contenido"> 
    <div class="clr"></div> 
    <%=_resumen %> 
</div> 

我的主要想法是做一個數據庫查詢並獲得折扣的值,然後在功能作用:

_resumen = setResumen(); 
_custom = setCustomization(); 
descuento = db.isReseller(AppleCTO.CodigoCliente); 
HiddenDescuento.Value = descuento.ToString(); 

此代碼是上在Page_Load

我的問題是:我不能或者我不知道如何控制這些在Page_Load中的C#之後動態創建的元素。或者,也許我可以通過HiddenField傳遞日期並使用jQuery執行操作。

我試過jQuery

var descuento = $('#HiddenDescuento').val(); 
// VISIBILIDAD DEL PVD 
if (descuento == 0) { 
    $("#preciopvd").hide() 
} 
// VISIBILIDAD DEL PVD 

在先進的感謝,我在尋找不同的解決方案!

回答

2

因爲我不知道程序的完整結構,所以我可以提出如下的建議。
創建HTML塊,並使其隱藏像style='display:none;'

使用jQuery
隱藏的,而不是

if (descuento == 0) { 
    $("#preciopvd").hide() 
} 

利用這一點,

if (descuento == 0) { 
    $("#preciopvd").css("display","none"); 
} 

,並顯示出,

if (descuento == 0) { 
    $("#preciopvd").css("display","block"); 
} 

快樂編碼!

+0

最後,我用一個不太理想的解決方案解決了這個問題。我只是將兩個不同函數中從DB創建內容的功能分開,每個函數的調用取決於註冊用戶的查詢結果!感謝您的編輯和回覆 –