3

我有两个标签:

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

我通过javascript设置innerHTML:

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
}
4

3 回答 3

6

您无法访问服务器端的值。您将不得不为此使用隐藏字段:

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

通过执行以下操作在 Hidden 字段中设置 innerHtml 值:

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

然后,您可以通过执行以下操作从服务器端访问它:

TextBox1.Text = Hidden1.Value;
于 2012-08-31T15:03:48.550 回答
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;
于 2014-03-04T17:52:27.557 回答
1

您无法使用Label控件执行此操作,因为当页面回发时,标签的内容不会发布到服务器。您将需要使用各种输入控件。可能隐藏的输入将是您最好的选择。

于 2012-08-31T15:04:47.120 回答