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

时间:2014-05-05 10:18:01

标签: 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 = msg;
}
    </script>

您能告诉我为什么&#39; lbl_msg&#39; 没有更新。

2 个答案:

答案 0 :(得分:0)

尝试使用:

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

或:

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

而不是:

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

答案 1 :(得分:0)

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事件或其中一个将消息添加到标签。如果消息显示您知道事件订单问题,则必须重新考虑您的脚本。

相关问题