PDA

View Full Version : سوال: دلیل ارور زیر چیست



mohsen.nsb44
یک شنبه 26 بهمن 1393, 12:09 عصر
Control 'ContentPlaceHolder1_GridView1' of type 'GridView' must be placed inside a form tag with runat=server.

amir_T_2008
یک شنبه 26 بهمن 1393, 13:10 عصر
توي تگ فرم خودتون از runat استفاده كنيد

mohsen.nsb44
یک شنبه 26 بهمن 1393, 13:28 عصر
توي تگ فرم خودتون از runat استفاده كنيد

وقتیی از مسترپیج استفاده میشه دیگه تگ فرم تو صفحه وجود نداره

mohsen.nsb44
یک شنبه 26 بهمن 1393, 13:46 عصر
GridView1.PagerSettings.Visible = false;
GridView1.DataBind();
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView1.RenderControl(hw);
string gridHTML = sw.ToString().Replace("\"", "'")
.Replace(System.Environment.NewLine, "");
StringBuilder sb = new StringBuilder();
sb.Append("<script type = 'text/javascript'>");
sb.Append("window.onload = new function(){");
sb.Append("var printWin = window.open('', '', 'left=0");
sb.Append(",top=0,width=1000,height=600,status=0');");
sb.Append("printWin.document.write(\"");
sb.Append(gridHTML);
sb.Append("\");");
sb.Append("printWin.document.close();");
sb.Append("printWin.focus();");
sb.Append("printWin.print();");
sb.Append("printWin.close();};");
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "GridPrint", sb.ToString());
GridView1.PagerSettings.Visible = true;
GridView1.DataBind();

زمانی که از کد بالا اجرا میشه اون خطا داده میشه

fakhravari
یک شنبه 26 بهمن 1393, 13:58 عصر
از چه کدی داره خطا میگیره!:متفکر:

sadegh.te
یک شنبه 26 بهمن 1393, 14:03 عصر
دوست عزیز شما باید گرید ویو رو داخل تگ " Form runat="server بزارید.

fakhravari
یک شنبه 26 بهمن 1393, 14:26 عصر
چیزی که هست دستکاری گرید باعث خطا شده یا توی تگ فرم چنتا شده

amir_T_2008
یک شنبه 26 بهمن 1393, 14:42 عصر
وقتیی از مسترپیج استفاده میشه دیگه تگ فرم تو صفحه وجود نداره
چه ربطی داره دوست عزیز؟؟؟شما زیر body کد فرم قرار بده و قبل body هم تگ فرم ببیند



<form id="form1" runat="server">

mohsen.nsb44
یک شنبه 26 بهمن 1393, 15:16 عصر
چیزی که هست دستکاری گرید باعث خطا شده یا توی تگ فرم چنتا شده

مسله اینجاست تا قبل اجرا شدن اون کد اطلاعات در گریدویو بدرستی نمایش داده میشن اما زمانی که کد واسه پرینت اجرا میشه اون خطا رو میده

mohsen.nsb44
یک شنبه 26 بهمن 1393, 15:19 عصر
چه ربطی داره دوست عزیز؟؟؟شما زیر body کد فرم قرار بده و قبل body هم تگ فرم ببیند



<form id="form1" runat="server">


دوست عزیز منظورم تو مسترپیج نیست منظورم صفحه ای هستش که از مسترپیج ارث میبره در ضمن مشکل احساس میکنم از کد هستش چون اطلاعات بدرستی در گریدویو نمایش داده میشه زمانی که کد اجرا میشه واسه پرینت اون خطا داده میشه

amir_T_2008
یک شنبه 26 بهمن 1393, 15:53 عصر
اروری که شما گذاشتید اینو میگه که باید داخل فرم از runat استفاده کنید حالا گرید خودتونو داخل panel بذارید و به پنل قابلیت runat بدید ببینید درست میشه یا نه.این راهی که دارم میگم بر اساس اروری که شما گذاشتید .

موفق باشید

ahmad156
یک شنبه 26 بهمن 1393, 19:38 عصر
شما باید تابع VerifyRenderingInServerForm (http://msdn.microsoft.com/en-us/library/system.web.ui.page.verifyrenderinginserverform.asp x) رو override کنین اون هم به خاطر استفاده از تابع RenderControl .اینجا (http://stackoverflow.com/questions/6343630/gridview-must-be-placed-inside-a-form-tag-with-runat-server-even-after-the-gri)گفته شده