简体   繁体   English

将服务器端代码更改为脚本不起作用

[英]changing server side code to script not working

my button click server code .This code i have implemented after button click show panel details one by one .我的按钮单击服务器代码。此代码是我在单击按钮后实现的,一一显示面板详细信息。

 protected int NumberOfControls
    {
        get { return (int)ViewState["NumControls"]; }
        set { ViewState["NumControls"] = value; }
    }
       protected void Page_Init(object sender, EventArgs e)
    {
        this.NumberOfControls = 1;
    }

protected void btnMedMore_click(object sender, EventArgs e)
    {
        int count = this.NumberOfControls;

        if(count == 1)
        {
            medPanel1.Visible = true;
            this.NumberOfControls++;
        }
        if (count == 2)
        {
            medPanel2.Visible = true;
            this.NumberOfControls++;
        }
        if (count == 3)
        {
            medPanel3.Visible = true;
            this.NumberOfControls++;
        }
        if (count == 4)
        {
            medPanel4.Visible = true;
            this.NumberOfControls++;
        }
        if (count == 5)
        {
            medPanel5.Visible = true;
            this.NumberOfControls++;
        }
        if (count == 6)
        {
            medPanel6.Visible = true;
            this.NumberOfControls++;
        }
        if (count == 7)
        {
            medPanel7.Visible = true;
            this.NumberOfControls++;
        }
        if (count == 8)
        {
            medPanel8.Visible = true;
            addmoreButton.Enabled = false;
            this.NumberOfControls++;
        }
    }

my script code .我的脚本代码。 as per server side code it is reloading again and again so I planned to use script to avoid it .根据服务器端代码,它一次又一次地重新加载,所以我计划使用脚本来避免它。 so i have added a img button and script to that /所以我添加了一个 img 按钮和脚本 /

 private void AddMeScript(System.Web.UI.WebControls.Image img)
    {
        int count = this.NumberOfControls;

        // Script for checkbox MyNotes
        string script = "<script language='javascript' type='text/javascript'>\n";
        script += "function myAppts()\n{\n";
        script += "\t" + "if (" + count == 1 + ")\n\t{\n\t\t";
        script += medPanel1.ClientID + ".style.display='';\n\t\t";
        script += this.NumberOfControls++ ;
        script += "\n\t}\n\tif (" + count == 2 + ")\n\t{\n\t\t";
        script += medPanel2.ClientID + ".style.display='';\n\t\t";
        script += this.NumberOfControls++;
        script += "\n\t}\n\tif (" + count == 3 + ")\n\t{\n\t\t";
        script += medPanel3.ClientID + ".style.display='';\n\t\t";
        script += this.NumberOfControls++;
        script += "\n\t}\n\tif (" + count == 4 + ")\n\t{\n\t\t";
        script += medPanel4.ClientID + ".style.display='';\n\t\t";
        script += this.NumberOfControls++;
        script += "\n\t}\n\tif (" + count == 5 + ")\n\t{\n\t\t";
        script += medPanel6.ClientID + ".style.display='';\n\t\t";
        script += this.NumberOfControls++;
        script += "\n\t}\n\tif (" + count == 6 + ")\n\t{\n\t\t";
        script += medPanel6.ClientID + ".style.display='';\n\t\t";
        script += this.NumberOfControls++;
        script += "\n\t}\n\tif (" + count == 7 + ")\n\t{\n\t\t";
        script += medPanel7.ClientID + ".style.display='';\n\t\t";
        script += this.NumberOfControls++;
        script += "\n\t}\n\tif (" + count == 8 + ")\n\t{\n\t\t";
        script += medPanel8.ClientID + ".style.display='';\n\t\t";
        script += this.NumberOfControls++;

        script += "\n}\n</script>";
        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "myAppts", script);
        img.Attributes.Add("onclick", "myAppts()");
    }

it is not increase NumberOfControls ?是不是增加了 NumberOfControls ? can anyone help me on it ?任何人都可以帮助我吗?

Your AddMeScript should read more like this if understanding you correctly如果正确理解你,你的 AddMeScript 应该更像这样

private void AddMeScript(System.Web.UI.WebControls.Image img)
{
            // Script for checkbox MyNotes
        string script = "<script language='javascript' type='text/javascript'>\n";
        script += "var count = " + this.NumberOfControls + ";\n";
        script += "function myAppts()\n{\n";
        script += "\t" + "if (count == " + this.NumberOfControls++ + ")\n\t{\n\t\t";
        script += medPanel1.ClientID + ".style.display='';\n\t\t";
        script += "count++;\n\t}\n";
        script += "\t" + "if (count == " + this.NumberOfControls++ + ")\n\t{\n\t\t";
        script += medPanel2.ClientID + ".style.display='';\n\t\t";
        script += "count++;\n\t}\n";
        script += "\t" + "if (count == " + this.NumberOfControls++ + ")\n\t{\n\t\t";
        script += medPanel3.ClientID + ".style.display='';\n\t\t";
        script += "count++;\n\t}\n";
        script += "\t" + "if (count == " + this.NumberOfControls++ + ")\n\t{\n\t\t";
        script += medPanel4.ClientID + ".style.display='';\n\t\t";
        script += "count++;\n\t}\n";
        script += "\t" + "if (count == " + this.NumberOfControls++ + ")\n\t{\n\t\t";
        script += medPanel5.ClientID + ".style.display='';\n\t\t";
        script += "count++;\n\t}\n";
        script += "\t" + "if (count == " + this.NumberOfControls++ + ")\n\t{\n\t\t";
        script += medPanel6.ClientID + ".style.display='';\n\t\t";
        script += "count++;\n\t}\n";
        script += "\t" + "if (count == " + this.NumberOfControls++ + ")\n\t{\n\t\t";
        script += medPanel7.ClientID + ".style.display='';\n\t\t";
        script += "count++;\n\t}\n";
        script += "\t" + "if (count == " + this.NumberOfControls++ + ")\n\t{\n\t\t";
        script += medPanel8.ClientID + ".style.display='';\n\t\t";
        script += "count++;\n\t}\n";
        script += "}";

        script += "\n</script>";
        Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "myAppts", script);
        img.Attributes.Add("onclick", "myAppts()");
}

it is commonly overlooked writing server code as though it is part of the client code when writing client code on the server side.在服务器端编写客户端代码时,通常会忽略编写服务器代码,好像它是客户端代码的一部分。 This code block fixes your issue by putting variable count on the client side and changing lines that were trying to add server code to client script like script += this.NumberOfControls++ ;此代码块通过将变量count放在客户端并更改试图将服务器代码添加到客户端脚本的行(如script += this.NumberOfControls++ ;来解决您的问题script += this.NumberOfControls++ ;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 服务器端代码在Google App脚本中不起作用 - Server side code not working in google app script 自定义脚本在 Blazor 服务器端工作出错 - Custom script working wrong in Blazor server side 表单验证后服务器端脚本无法正常工作 - Server side script not working after form validation 服务器端数据表中的分页不起作用(未更改URL) - pagination in server side datatable not working (without changing the URL) 仅使用服务器端脚本(无浏览器)解释Javascript代码 - Interpreting Javascript code using only a server-side script (no browser) jQuery上传脚本后服务器端重定向不起作用 - Server side redirect not working after jQuery upload script npm 运行脚本 ssr(服务器端渲染不工作) - npm run-script ssr (server side rendering not working) 首先调用服务器端代码,然后调用客户端脚本,而无需使用AJAX - first invoke server side code then client side script without using AJAX 每次在客户端增加变量时如何在服务器端(php)执行代码(java脚本) - how to execute the code on server side (php) each time the variable is incremented on the client side (java script) 客户端内服务器端经典ASP代码的问题<script> tags - Issues with server-side classic ASP code within client-side <script> tags
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM