获取动态更改的 asp.net 标签的值

get value of dynamically changed asp.net label

本文关键字:net 标签 asp 获取 动态      更新时间:2023-09-26

我有一个 asp.net 标签 Web 控件。我使用 jQuery .html() 函数动态更改其文本。当我尝试在服务器上获取标签的现值时,它会显示页面加载时的原始值。有什么方法可以使对标签的jQuery更改永久化,以便我可以在服务器上获取它们?

您需要将 JQuery 更改镜像到另一个控件中,该控件将在服务器端运行。

例如,使用一个隐藏字段,该字段runat="server"将您的更改隐藏成此字段,然后将其保留在服务器上,即从隐藏字段中读取标签更改

所以

杰奎里

$('#labelID').html('New Text');
$('#hiddenFieldID').val('New Text');

服务器端

string labelText = hiddenFieldID.value;

这并不漂亮,但这是我找到的唯一方法。

JQuery 不与ViewState交互,因此与 JQuery 的任何更改都会在回发时丢失。这是我认为人们现在转向MVC的原因之一。回发体系结构不能很好地处理客户端更改

我认为你不能开箱即用(尽管我可能是错的)。问题是标签不是 HTML 表单字段,因此它的值不会在回发时发送回服务器,因此将使用 ViewState 值或默认值,而不是更新的值。

你可以一起破解一些东西,你也可以在一个隐藏字段中设置标签值,这将在回发时被发送回服务器,并在回发时使用它来填充标签的值(如果它被更改了?