在javascript中设置innerHTML并从C#中获取

Posted

技术标签:

【中文标题】在javascript中设置innerHTML并从C#中获取【英文标题】:Set innerHTML in javascript and get from C# 【发布时间】:2012-08-26 09:53:20 【问题描述】:

我有两个标签:

  <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

【问题讨论】:

是的,您的代码似乎是正确的。只需在分配前确认值 不,你不能。要将数据从客户端传输到服务器,请使用输入控件或 Ajax。 您的代码到底有什么问题?您应该发布一个完整示例,说明您尝试过的操作和发生的情况,以便我们为您提供帮助。 要让更新后的数据可用于页面后面的代码,您必须先将页面回发。 【参考方案1】:

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

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

在隐藏字段中设置innerHtml值:

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

然后您可以通过以下方式从服务器端访问它:

TextBox1.Text = Hidden1.Value;

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

取一个隐藏字段,如下所示

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

然后在 Jquery 中设置它的值,如下所示

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

    $("#hdnBody").val(bodyHtml);  

</script>

并在后面的代码中这样做来获取它

string body = hdnBody.Value;

【讨论】:

以上是关于在javascript中设置innerHTML并从C#中获取的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Firefox 中设置 IFrame 的 document.body.innerHTML

访问 BOOL 值并从数组中设置表格单元格

Freemarker:创建下拉字段并从 Map 的键/值中设置其值和选项

javascript 我想在body中设置一个标签显示<script>中的变量值,要如何做?

根据条件选择行并从向量中设置值

javascript按钮innerHTML