2014-06-05 99 views
0

我有一些HTML調用Label.Text(在C#)VS Label.innerHTML導致意想不到的結果

<table class="table table-hover table-striped table-responsive table-bordered"> 
<tr class="row"> 
    <td colspan="3" class="col-md-3">Location</td> 
    <td colspan="4" class="col-md-4">Info</td> 
    <td colspan="2" class="col-md-2">Date/Time</td> 
    <td colspan="1" class="col-md-1">Mandatory</td> 
    <td colspan="2" class="col-md-2">Edit</td> 
</tr> 
<asp:Label ID="lblNewProjectConferences" runat="server"></asp:Label> 
</table> 

一些ASP.NET方法:

lblNewProjectConferences.Text = UtilHTML.GetConferncesHTML(conferences, editor); 

我基本上是建立在HTML一個方法,然後注入到表格內的標籤中,結果是添加到表格中的行格式正確。這一切按預期工作:

working properly

但是,當我做了從JavaScript

document.getElementById("lblNewProjectConferences").innerHTML += response; 

下面我得到這樣的:

malfunctioning

我「檢查元素「,而標籤出現在HTML表格之前。這對我來說沒有意義。

更新:到目前爲止的答案沒有幫助。標籤代碼表代碼之前出現,當我使用innerHTML,這不是第一次出現,然後將表出現

enter image description here

+0

請發表整個代碼。 – TrevorBrooks

+0

你能更具體嗎?我所有的代碼都會太大,無法以這種格式發佈 – TruthOf42

回答

2

我看到你正在使用的引導。

你也可以這樣做。

$(document).ready(function() { 
    document.getElementById("lblNewProjectConferences").innerHTML += response; 
}); 

編輯: 試試這個:

<asp:Label ID="lblNewProjectConferences" runat="server"></asp:Label> 
<table class="table table-hover table-striped table-responsive table-bordered" id="gridTable"> 
    <tr class="row"> 
    <td colspan="3" class="col-md-3">Location</td> 
    <td colspan="4" class="col-md-4">Info</td> 
    <td colspan="2" class="col-md-2">Date/Time</td> 
    <td colspan="1" class="col-md-1">Mandatory</td> 
    <td colspan="2" class="col-md-2">Edit</td> 
    </tr> 
</table> 

而且在JavaScript:

<script type="text/javascript"> 

    $(document).ready(function() { 
     $('#gridTable').appendTo($("#lblNewProjectConferences").html()); 
    }); 
</script> 
+0

請參閱我的更新 – TruthOf42

+0

@ TruthOf42 - 我看到您的更新,嘗試更改html,因爲我在回答中編寫並更改了javascript。在你的情況下,它的解決方案讓標籤隱藏並將其html添加到表中。 – mijail

+0

@ TruthOf42 - 你真正的問題在於你已經將標籤元素放置在表格元素中,而html定義不能識別這個元素,因爲它不是表格元素的一部分。 – mijail

1

您已經閉幕</table>標記之前位於內側的asp:Label元素表。瀏覽器無法將標籤識別爲表格的一部分,因此在呈現表格之前將其呈現。在</table>標籤後移動標籤應該可以解決問題。

+0

以及至少這回答我的問題,爲什麼,但你有任何解決方案如何完成我試圖在asp.net和JavaScript? – TruthOf42