回发后,JQuery集合文本值丢失 函数btnSetText_OnClientClick(){ $(“#”)文本(“123”); } 受保护的无效页面加载(对象发送方、事件参数e) { } 受保护的void btnsupmit\u单击(对象发送者,事件参数e) { 字符串str1=lbl1.Text; }

回发后,JQuery集合文本值丢失 函数btnSetText_OnClientClick(){ $(“#”)文本(“123”); } 受保护的无效页面加载(对象发送方、事件参数e) { } 受保护的void btnsupmit\u单击(对象发送者,事件参数e) { 字符串str1=lbl1.Text; },jquery,.net,Jquery,.net,这里的场景是,当用户单击“设置文本”时,jquery脚本将更新标签值,当提交按钮单击时,lbl1的值。文本始终为“”,在回发后丢失,有什么想法吗?使用隐藏字段来获取回发后的值 试试这个 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <script src="../js/jquery/jquery-1.4.1.min.js" t

这里的场景是,当用户单击“设置文本”时,jquery脚本将更新标签值,当提交按钮单击时,lbl1的值。文本始终为“”,在回发后丢失,有什么想法吗?

使用
隐藏字段来获取回发后的值

试试这个

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="../js/jquery/jquery-1.4.1.min.js" type="text/javascript"></script>
<script>
function btnSetText_OnClientClick() {
$("#<%= lbl1.ClientID %>").text("123");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lbl1" runat="server"></asp:Label>
<asp:Button ID="btnSetText" runat="server" Text="Set Text" OnClientClick="btnSetText_OnClientClick(); return false;" />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
</div>
</form>
</body>
</html>

protected void Page_Load(object sender, EventArgs e)
{

}

protected void btnSubmit_Click(object sender, EventArgs e)
{
string str1 = lbl1.Text;
}

函数btnSetText_OnClientClick(){
$(“#”)文本(“123”);
$('#HiddenFileldVariable').val($(“#”).text();
}
受保护的无效页面加载(对象发送方、事件参数e)
{
}
受保护的void btnsupmit\u单击(对象发送者,事件参数e)
{
字符串str1=HiddenFileldVariable.Value;
}

我认为问题可能与asp.net按钮的EnableViewState属性有关;值必须为“true”才能传递到回发处理程序

我在我这边做了一个小测试,如果EnableViewState为“false”,我可以重现您的问题;如果我将它设置为“true”,它就会工作

我希望有帮助


罗杰

这就是它应该发生的情况。回发时,它会清除所有元素值。有没有解决此逻辑的方法?我看不到解决此问题的逻辑。实际上,你为什么要这样做。告诉我确切的问题使用javascript Cookiet实际情况是,我们有一个日期选择器工具,可以将用户选择的日期更新为标签,当发生回发时,标签值为空,因此我将场景简化为snippets.ViewState数据,这些数据由ASP.NET存储在HiddenField中,以便维护状态。ASP.NET不知道JQuery为维护它而设置的值。最好的方法是创建一个HiddenField,并将JQuery值存储到该字段中。这样ASP.NET就可以读取它,并再次设置textbox值。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="../js/jquery/jquery-1.4.1.min.js" type="text/javascript"></script>
<script>
function btnSetText_OnClientClick() {
$("#<%= lbl1.ClientID %>").text("123");
$('#HiddenFileldVariable').val($("#<%= lbl1.ClientID %>").text());
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lbl1" runat="server"></asp:Label>
<asp:Button ID="btnSetText" runat="server" Text="Set Text" OnClientClick="btnSetText_OnClientClick(); return false;" />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
 <asp:HiddenField ID="HiddenFileldVariable" runat="server" />
</div>
</form>
</body>
</html>

protected void Page_Load(object sender, EventArgs e)
{

}

protected void btnSubmit_Click(object sender, EventArgs e)
{
      string str1 = HiddenFileldVariable.Value;
}