[英]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.