我用js修改asp:Label的text值, document.getElementById("<%=checkLbl.ClientID%>").innerHTML = "error";,
提交页面后服务器端的Label的text值并没有变,怎么回事?

解决方案 »

  1.   

    怎么提交?
    document.getElementById(" <%=checkLbl.ClientID%> ").innerHTML   =   "error";
    这个只是在客户端赋值加QQ  345071675
      

  2.   

    我错了,js只在客户端修改控件属性,页面提交后,服务器端并不能获得修改
    我去msdn上查了下 客户端回调 的问题,解决了我的问题
    这是我参考的例子:
    aspx:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>客户端回调</title>
        <script type="text/javascript" language="javascript">
        
        function CallServer(inputcontrol,context)
        {
            context.innerHTML = "加载中...";
            var input = inputcontrol.value;
            <%=ClientScript.GetCallbackEventReference(this,"input","ReceiveServerData","context") %>;
        }
        function ReceiveServerData(context,result)
        {
            document.getElementById("showLbl").innerHTML = result;    
        }
        
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <asp:TextBox ID="texEnter" runat="server"></asp:TextBox>
        <input type="button" id="sub" value="submit" onclick="CallServer(texEnter,showLbl)" />
        <asp:Label ID="showLbl" runat="server"></asp:Label>
        </div>
        </form>
    </body>
    </html>cs:using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class Default2 : System.Web.UI.Page,System.Web.UI.ICallbackEventHandler
    {
        private string result;    public void RaiseCallbackEvent(string eventArgument)
        {
            if (eventArgument == "h")
            {
                result = "hello";
            }
            else 
            {
                result = "error";
            }
        }    public string GetCallbackResult()
        {
            return result;
        }    protected void Page_Load(object sender, EventArgs e)
        {
            
        }
    }
      

  3.   

    我又有了新的问题,我在 RaiseCallbackEvent() 执行修改控件的属性,客户端却没有响应,而且 result 的生命周期只限于那两个函数,那位高手指点一下为什么,我是菜鸟,很多都不懂
      

  4.   

    在客户端修改label的文本在服务端是不认的,建议保存到hiddenfield里。干脆label与hiddenfield一并,在服务端获取值就到hiddenfield里获取。