铁血网游戏:js代码只能是页内起效,想通过客户端代码控制服务器端控件的回调显示,是不可能的

来源:百度文库 编辑:九乡新闻网 时间:2024/05/17 08:11:33
js代码只能是页内起效,一旦发生回传事件,比如服务器空间的button点击事件,那么你通过javascript设置的状态就会全部丢掉,除非是服务器控件,只有服务器控件能够在回传的时候保持状态,html控件不能保持状态,

每一次回传,整个页面将重新走page_Load事件,button_Onclick事件。导致javascript设置的状态无效,
可以通过使用隐藏字段HiddenField来保存你想保持的状态

页面回传就会先执行后台的PageLoad再执行前台js的pageload事件。

C# PageLoad-->前台js的pageload,js一个一个的执行。

想通过客户端代码控制服务器端控件的回调显示,是不可能的,
            document.getElementById("ButtonNext").style.display = 'none';
            document.getElementById("ButtonSuccess").style.display = '';

只能用服务器端事件在后台编写相关控制代码。
this.trTitleS.Attributes.Add("style","display:none;");
excelUpload.Style.Add(HtmlTextWriterStyle.Display, "none");


代码如下:
    // 检测日期选择条件是否合法
    function isValidChooseDate() {
        document.getElementById("excelUpload").style.display='none';
        var beginDate = document.getElementById("ddlYearStart").value;
        var endDate = document.getElementById("ddlYearEnd").value;

            if (beginDate > endDate) {
                alert("起始年份不能晚于截止年份");
                return false;
            }

            document.getElementById("ButtonNext").style.display = 'none';
            document.getElementById("ButtonSuccess").style.display = '';
            return true;
        }


妈的,前台需要控制,后台也需要控制,才能达到你想要的显示效果。
       protected void Page_Load(object sender, EventArgs e)
        {

            if (this.hdPanel.Value == "stockUpload")
            {
                excelUpload.Style.Add(HtmlTextWriterStyle.Display, "none");
                stockUpload.Style.Add(HtmlTextWriterStyle.Display, "");
                ButtonSuccess.Style.Add(HtmlTextWriterStyle.Display, "none");
                ButtonComplete.Style.Add(HtmlTextWriterStyle.Display, "none");          //这里是后台控制
            }
            else
            {
                excelUpload.Style.Add(HtmlTextWriterStyle.Display, "");
                stockUpload.Style.Add(HtmlTextWriterStyle.Display, "none");

            }

前台js