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

时间:2012-05-08 09:33:07

标签: javascript jquery asp.net web controls

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

2 个答案:

答案 0 :(得分:1)

您需要将JQuery更改镜像到另一个将在服务器端存在的控件。

例如,使用已归档的隐藏字段runat="server"将您的更改隐藏到此处,然后这将保留在服务器上,即从隐藏字段中读取标签更改

所以

<强> JQuery的

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

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

服务器端

string labelText = hiddenFieldID.value;

它不漂亮,但这是我发现它的唯一方法。

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

答案 1 :(得分:0)

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

你可以将一些东西放在一起,你也可以在一个隐藏字段中设置标签值,它会在回发时被发送回服务器并使用它来回传标签上的标签值,如果它已被更改?