在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
Freemarker:创建下拉字段并从 Map 的键/值中设置其值和选项