2012-08-31 134 views
3

讓我有兩個標籤:設置的innerHTML在JavaScript和C#

<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
    <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> 

,我設置的innerHTML由JavaScript:

document.getElementById('Label1').innerHTML = position.lat(); 
document.getElementById('Label2').innerHTML = position.lng(); 

我怎樣才能在代碼隱藏這些標籤值?我嘗試:

TextBox2.Text = Label1.Text; 

更新:我需要得到圖釘位置:

<artem:GoogleMap ID="GoogleMap1" runat="server" 
    EnableMapTypeControl="False" MapType="Roadmap" >   
    </artem:GoogleMap>  
    <artem:GoogleMarkers ID="GoogleMarkers1" runat="server" 
    TargetControlID="GoogleMap1" onclientpositionchanged="handlePositionChanged"> 
    </artem:GoogleMarkers> 
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
    <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> 

<script type="text/javascript"> 
    var list = document.getElementById("Label1"); 
    function handlePositionChanged(sender, e) { 
    printEvent("Position Changed", sender, e); 
    } 
    function printEvent(name, sender, e) { 
    var position = e.latLng || sender.markers[e.index].getPosition(); 
    document.getElementById('Label1').innerHTML = position.lat(); 
    document.getElementById('Label2').innerHTML = position.lng(); 
    } 
</script> 

protected void Button1_Click(object sender, EventArgs e) 
{ 
    TextBox2.Text = Label1.Text;// return value: Label 
} 
+0

是,你的代碼似乎是正確的。只需在分配前確認數值 – Bravo

+2

不可以。要將數據從客戶端傳輸到服務器,請使用輸入控件或Ajax。 –

+0

什麼不是你的代碼?你應該發佈一個完整的例子,說明你所嘗試過的和發生了什麼,以便我們可以幫助你。 – Sashenka

回答

7

您不能訪問服務器端的價值。你將不得不使用一個隱藏字段:通過做

<asp:HiddenField ID="Hidden1" runat="server" /> 

在隱藏字段設置innerHTML值:

document.getElementById('<%= Hidden1.ClientID %>').value = position.lat(); 

然後,您可以從服務器端做訪問:

TextBox1.Text = Hidden1.Value; 
+0

是的,它工作得很好。非常感謝你 :) –

1

您無法通過Label控件來做到這一點,因爲當頁面回傳時,標籤的內容不會發布到服務器。您需要使用各種輸入控件。可能隱藏的輸入將是你最好的選擇。

1

採取類似下面

<asp:HiddenField ID="hdnBody" ClientIDMode="Static" runat="server" /> 

jQuery中像下面

<script> 
function GetEmailID() { 
    var bodyHtml = $("#editor").html(); 

    $("#hdnBody").val(bodyHtml); 
} 
</script> 

並在代碼然後將其值設置的隱藏字段後面這樣做是爲了得到它

string body = hdnBody.Value;