Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在jquery移动应用程序中为asp:label赋值_Jquery_.net_Jquery Mobile - Fatal编程技术网

如何在jquery移动应用程序中为asp:label赋值

如何在jquery移动应用程序中为asp:label赋值,jquery,.net,jquery-mobile,Jquery,.net,Jquery Mobile,我在标签里有这个代码。 我从代码隐藏处调用此函数setmessage <script type="text/javascript"> function setmessage(msg) { $.mobile.changePage( "#pagethree", { transition: "slideup", changeHash: true }); document.getElementById('<%= lbl_msg.ClientID %>').Text

我在标签里有这个代码。 我从代码隐藏处调用此函数setmessage

<script type="text/javascript">
function setmessage(msg) {
$.mobile.changePage( "#pagethree", { transition: "slideup", changeHash: true });
        document.getElementById('<%= lbl_msg.ClientID %>').Text = msg;
}
    </script>
你能告诉我为什么没有更新“lbl\u msg”吗。

尝试使用:

document.getElementById('<%= lbl_msg.ClientID %>').innerHTML = msg;
或:

而不是:

document.getElementById('<%= lbl_msg.ClientID %>').Text = msg;

document.getElementById将仅在它在DOM中任何位置找到的特定标记id的第一个实例上运行。因此,您需要标识当前页面,然后在该页面上查找所需的id

您可以使用以下代码执行此操作:

var activePage = $.mobile.pageContainer.pagecontainer("getActivePage");

$("YOUR TARGET ID HERE", activePage)[0].innerHTML = "YOUR TEXT HERE";
还值得注意的是,innerHTML的呈现速度比其他方法(如append)快3倍。因此,它也可能比使用服务器端技术(如.Net)快得多


我还注意到,有时在JQM中触发动作的页面事件会产生巨大的差异。这通常是由于在元素可用于JQuery之前触发了操作。为了调试,请尝试通过pagecontainershow事件或其他事件之一将消息添加到标签。如果消息显示您知道这是一个事件顺序问题,您必须重新考虑脚本。

确保同一文档中没有重复的ID。如果每个页面都有相同的ID,那么具有该ID的第一个元素将被更改。是的,我没有相同的ID…我检查了它打印什么?你能给我们看看吗?
var activePage = $.mobile.pageContainer.pagecontainer("getActivePage");

$("YOUR TARGET ID HERE", activePage)[0].innerHTML = "YOUR TEXT HERE";