Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.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
C# 在静态Web方法中更改服务器控件的文本_C#_Asp.net - Fatal编程技术网

C# 在静态Web方法中更改服务器控件的文本

C# 在静态Web方法中更改服务器控件的文本,c#,asp.net,C#,Asp.net,我正在使用web方法进行ajax调用,我想在ajax调用后更改asp.net标签控件的文本。 我在ajax调用成功后更改了它的文本,但在回发后,我并没有得到更新的值,因为它在客户端发生了更改。 我想更改文本,以便它也能反映在post back上。 如何更改WebMethod中标签的文本? 下面是我的代码 [System.Web.Services.WebMethod()] public static string RemoveVal() {

我正在使用web方法进行ajax调用,我想在ajax调用后更改asp.net标签控件的文本。 我在ajax调用成功后更改了它的文本,但在回发后,我并没有得到更新的值,因为它在客户端发生了更改。 我想更改文本,以便它也能反映在post back上。 如何更改WebMethod中标签的文本? 下面是我的代码

 [System.Web.Services.WebMethod()]
            public static string RemoveVal()
            {
               //Do some work
    //Return updated Value
//I want to change text here
            }



 jQuery.ajax({
                type: "POST",
                url: 'MyPage.aspx/RemoveVal',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    var emaillbl = GetClientID("lblEmail").attr("id");                   
                    $("#" + emaillbl).html(data);

                }

            });

 <asp:Label ID="lblEmail" runat="server" CssClass="labelclass"></asp:Label>

        function GetClientID(id, context) {
            var el = $("#" + id, context);
            if (el.length < 1)
                el = $("[id$=_" + id + "]", context);
            return el;
        }
[System.Web.Services.WebMethod()]
公共静态字符串RemoveVal()
{
//做些工作
//返回更新的值
//我想在这里更改文本
}
jQuery.ajax({
类型:“POST”,
url:'MyPage.aspx/RemoveVal',
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(数据){
var emaillbl=GetClientID(“lblEmail”).attr(“id”);
$(“#”+emaillbl).html(数据);
}
});
函数GetClientID(id,上下文){
var el=$(“#”+id,上下文);
如果(标高长度<1)
el=$(“[id$=389;”+id+“]”,上下文);
返回el;
}

AJAX调用将仅更新客户端中的控件文本。如果要在回发后更改标签的文本,请在页面回发时将更改的值再次绑定到控件。您可以调用函数,在回发事件或页面加载中,在任何合适的地方将更改后的值绑定到标签。

在web方法中创建一个隐藏字段,将标签文本放入HiddenField。值,使用此值,并在ajax回发成功时将其分配给lbl的text属性,试试看是否可行,