PDA

View Full Version : سوال: مشکل در ثبت و ویرایش خبر توسط freetxtbox



M.KH-SH
پنج شنبه 19 مرداد 1391, 00:00 صبح
سلام به همه دوستان عزیز

یک مشکلی دارم که برای شما عزیزان میگم شاید کسی راهی رو پیشنهاد کنه تا شاید مشکل من حل بشه


برای بخش خبری سایتم از freetextbox استفاده کردم و ValidateRequest="false" رو هم در همون صفحه ای که freetextbox قرار داره رو هم گذاشتم

دوستان در حالت طراحی و روی لوکال این html editor به خوبی جواب میده و داره کار میکنه و ویرایش و ثبت رو هم به راحتی انجام میده و اطلاعات رو هم راحت میتونم به نمایش بزارم

اما مشکل از کجا شروع میشه :::

مشکل من اینه که به محض اینکه در هاست آپلود میشه ورق برمیگرده و خطا ها شروع میشه خطا ها برای نمایش نیست خطا ها فقط زمانی هستش که من روی دکمه ثبت / ویرایش کلیک میکنم تا اطلاعات به ثبت برسن یا ویرایش بشن خطا میده با اینکه همون نسخه رو قرار دادم و postback رو گرفتم و هیچ مشکلی هم نیست این اتفاق می یوفته رو یک سرور دیگه هم تست کردم ولی بازم این مشکل پیش اومد

میشه راهنمایی کنین که باید چی کار کنم؟

خودش هم گفت در web.config تغیراتی بدم و اونا رو هم انجام دادم (با توجه به صفحه خطا) با اینکه ربطی به موضوع نداشت ولی بازم انجام دادم و مشکل حل نشد

خیلی ممنون از دوستان

fakhravari
پنج شنبه 19 مرداد 1391, 00:30 صبح
چنتا راه حل
وب کنفیگ
<pages validateRequest="false">
public static string Html_Encode(string Text)
{
return System.Web.HttpContext.Current.Server.HtmlEncode(T ext);
}
public static string Html_Decode(string Text)
{
return System.Web.HttpContext.Current.Server.HtmlDecode(T ext);
}

M.KH-SH
پنج شنبه 19 مرداد 1391, 12:01 عصر
خیلی ممنون از راهنمایی شما
دوست عزیز باز مشکل همچنان هست

راه حل دیگه ای نیست؟

امکان داره که سرور با freetextbox مشکل داشته باشه؟

rana-writes
پنج شنبه 19 مرداد 1391, 12:47 عصر
سلام
ميشه بگين خطاهاتون چي ها هستن؟
dll رو آپلود كردين؟

يه تصويري از خطاتون بذارين چون من توي سايتم دارم ازش استفاده ميكنم و مشكلي ندارم

M.KH-SH
پنج شنبه 19 مرداد 1391, 13:29 عصر
دوست عزیز همه چیز خیلی خوب هستش و مشکلی نیست و در لوکال به خوبی جواب میده ولی به محض اینکه روی سرور آپلود میشه دیگه نمیزاره چیزی به ثبت برسه نمیدونم مشکل از کجاست

کد insert و update مشکلی نداره
<pages validateRequest="false"> هم در اون صفحه و هم در کانفیگ رو هم درست کردم validaterequest رو هم false قرار دادم
نمی دونم والا مشکل از کجاست

تصویر خطا هم آپلود کردم

دوست عزیز برای اینکه خیالم راحت تر باشه سایتم رو در یک هاست دیگه هم امتحان کردم ولی بازم همین مشکل بود

هر چی باشه فکر کنم جایی رو باید true or false کنم نمی دونم والا

rana-writes
پنج شنبه 19 مرداد 1391, 14:20 عصر
سلام
لطفا توي وب كانفيگ قسمت Custom Error رو Off كنين تا خطا رو نشون بده

M.KH-SH
پنج شنبه 19 مرداد 1391, 14:54 عصر
دوست عزیز sutomerror رو هم mode=off کردم ولی جواب نداد

دقیقا همون تصویر آپلود شده رو نمایش میده
میگم جالب اینجاست که در iis و لوکال خودم جواب میده ولی در سرور ها نه

M.KH-SH
پنج شنبه 19 مرداد 1391, 15:02 عصر
بدون تگ های htm داره کار رو انجام میده ولی اولین تگ که وارد میشه و میخواد دستورات رواجرا کنه با خطا مواجه میشه
میگم نمیودنم دیگه باید چی کارش کنم اخه روی لوکال داره راحت کرار میکنه ولی روی سرور نه کار نمیکنه

M.KH-SH
جمعه 20 مرداد 1391, 15:20 عصر
دوستان مشکل من همچنان پا برجاست

امکان داره که تنظیماتی رو باید روی سرور انجام بدم تا دیگه خطا نده؟

اخه هیچ مشکلی از نظر کدنویسی نیست و تمام مواردی رو که از قبل خونده بودم و یاد داشتم رو پیاده کردم ولی بازم زمان ثبت و ویرایش روی سرور خطا میده

پیغام خطا هم معلوم نیست حتی با اینکه custom error mod=off رو در web.config قرار دادم

یکی میشه راهنمایی کنه

در صورت نیاز یک نمونه رو در یک هاست آپلود کنم تا اونجا هم چک بشه توسط خود شما همراه با سورس برنامه

Fartaj
جمعه 20 مرداد 1391, 17:03 عصر
دوست عزیز منم از freetextbox استفاده کردم ولی از نظر خود freetextbox به ارور نخوردم این ارور که مال web.config این جور ارور ها من رو خیلی اذیت کردن ولی به freetextbox ربطی نداره اگه هم چنان اروری که به شما نشون می ده همینه که همونطور که دوستمون گفتند باید Custom Error رو Off كنين البته یک نکته ای رو بگم شاید به دردت بخوره تجربه زیادی ندارم ولی تو آپلود اولم به ارورهای بد پیله ای خوردم برای حل این مشکل مجبور شدم تا 10 بار سایت رو دوباره آپلود کنم اما در آخر حل نشد کاری که کردم این بود که به جای اینکه با cut آپلود کنم با خود پنل آپلود کنم چون خیلی ها می گفتن شاید موقع آپلود با cut فایل ها خراب می شن و اینطوری مشکلم حل شد هنوز برام جا نیافتاده که واقعا مشکل از cut بوده یا نه !

خواستین محتویات web.config رو بزارین تا بهتر بشه کمک کرد

M.KH-SH
جمعه 20 مرداد 1391, 18:34 عصر
محتویات کانفیگ
<?xml version="1.0"?>
<!--
Note: As an alternative to hand editing this file you can use the
web admin tool to configure settings for your application. Use
the Website->Asp.Net Configuration option in Visual Studio.
A full list of settings and comments can be found in
machine.config.comments usually located in
\Windows\Microsoft.Net\Framework\v2.x\Config
-->
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<!--
Set compilation debug="true" to insert debugging
symbols into the compiled page. Because this
affects performance, set this value to true only
during development.

Visual Basic options:
Set strict="true" to disallow all data type conversions
where data loss can occur.
Set explicit="true" to force declaration of all variables.
-->
<compilation debug="true" strict="false" explicit="true">
<assemblies>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>
</compilation>
<pages>
<namespaces>
<clear/>
<add namespace="System"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<add namespace="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<add namespace="System.Web"/>
<add namespace="System.Web.Caching"/>
<add namespace="System.Web.SessionState"/>
<add namespace="System.Web.Security"/>
<add namespace="System.Web.Profile"/>
<add namespace="System.Web.UI"/>
<add namespace="System.Web.UI.WebControls"/>
<add namespace="System.Web.UI.WebControls.WebParts"/>
<add namespace="System.Web.UI.HtmlControls"/>
</namespaces>
</pages>
<!--
The <authentication> section enables configuration
of the security authentication mode used by
ASP.NET to identify an incoming user.
-->
<authentication mode="Windows"/>
<!--
The <customErrors> section enables configuration
of what to do if/when an unhandled error occurs
during the execution of a request. Specifically,
it enables developers to configure html error pages
to be displayed in place of a error stack trace.

<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
</system.web>
</configuration>



مربوط به صفحه من برای ثبت خبر

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="add_edit.aspx.vb" Inherits="mohammad_news_add_edit" MasterPageFile="~/mohammad/master.master" ValidateRequest="false"%>

Fartaj
جمعه 20 مرداد 1391, 22:21 عصر
والا تو این کد شما من نمی بینم که custom error روی off باشه قبل از compilation این کد رو بزار :



<customErrors mode="Off" />


و copilation رو به این شکل بزار :



<compilation defaultLanguage="C#‎‎‎">


چون این اروری که شما تصویرش رو گذاشتین دقیقا مربوط به custom error هست و تا زمانی که حل نشه به چیز دیگه ای گیر نمی ده و ربطی به freetextbox نداره

M.KH-SH
جمعه 20 مرداد 1391, 23:55 عصر
بله خوب دوست عزیز بعد از اینکه جواب دریافت نشد من config رو تغییر دادم

راستی وقتی زبان برنامه نویسی vb.net هست پس نمی یان زمان کامپیال اونو به c# تغییر بدم

خیلی ممنون دوست عزیز

M.KH-SH
شنبه 21 مرداد 1391, 00:08 صبح
http://tra.somee.com/

خطا رو میتونی خودت ببینی

اینم لینک همون برنامه

http://tra.somee.com/WebSite1.rar

Fartaj
شنبه 21 مرداد 1391, 01:21 صبح
خوب دوست عزیز قضیه فرق کرد این ارور با عکسی که گذاشتی همخوانی نداره :متفکر:

ولی خوب مشکل شما با این کد تو web.config حل می شه :



<httpRuntime requestValidationMode="2.0" />


اینو بزار بعد از system.web اولی

اینو تست کردم رو پروژت درست شد

M.KH-SH
شنبه 21 مرداد 1391, 08:46 صبح
خیلی ممنون از راهنمایی شما دوست عزیز
بله یکم تفاوت داره چرا چون یک پروژه جدید هستش

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

بیشتر بخش ::requestValidationMode رو میگم

M.KH-SH
شنبه 21 مرداد 1391, 09:10 صبح
خوب دوست عزیز با تغییر ورژن دات نت کد رو قرار دادم
خوب این یکی از روش ها من فکر کنم یک روشی هم باشه که در دات نت های قبلی بشه جلوی این امر رو گرفت

دوست عزیز یک سئوال خیلی مهم

این مورد در امنیت پروژه تاثیر نخواهد داشت؟؟؟؟

M.KH-SH
شنبه 21 مرداد 1391, 11:09 صبح
خوب قابل ذکر هستش که مشکل کاملا حل شد

config 4 و بقیه پروژه 2 هستش و این 2 رو در هاست با هم ریختم و مشکل کاملا حل شد

دوست عزیز یک سئوال دیگه هم دارم

من در گریدویو ایتم ها رو به این صورت نمایش میدم ::: eval("id")
حالا میخوام id رو بریزم تو یک تابع و جواب اون تابع رو از طریق گریدویو نمایش بدم

آیا امکان داره؟

یعنی مثلا تابعی با اسم form_(id) دارم که ورودی رو id میدم و خروجی رو به من بده رو میشه به صورت زیر نوشت؟

eval(form_("id"))

من فکر نکنم بشه میشه فقط بگین از چه روشی باید استفاده کنم بقیه موارد مشکلی نیست

Fartaj
شنبه 21 مرداد 1391, 15:07 عصر
در مورد سوال قبلی شما من نظری نمی تونم بدم فقط این رو می تونم بگم که من خودم با freetextbox مشکل داشتم هرچی سرچ کردم تو سایت های خارجی گفته بودند این کد رو بزار هر چند این کد به جای یک صفحه مال همه صفحه ها رو off می کنه ولی چون freetextbox هم حجم کمی داره و هم سیستم آپلود تصویر داره من از خیر امنیت گذشتم یعنی دیگه فرصت تصمیم گیری نداشتم

اما در مورد بدست آوردن id رکورد باید بگم شدنیه به این مثال توجه کنید من این رو برای حذف رکورد استفاده می کنم :



protected void GridView2_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int index = e.RowIndex;
GridViewRow row = GridView2.Rows[index];
Label lbl = (Label)row.FindControl("Label1");
Label img = (Label)row.FindControl("Label2");
string image ="../"+ img.Text;
System.IO.File.Delete(Server.MapPath(image));
int facilitiesid = Convert.ToInt32(lbl.Text);
BLL.facilities.Deletefacilities(facilitiesid);
BindGrid();
}


شما باید ببینید id رو به چی وصل کردید (lable , literal , ... ) و با چه اسمی ؟؟

شما باید تو این کد بگید که مثلا من دارم تو سطر گرید می گردم دنبال یک literal با چه اسمی مثلا ( lit_id ) خوب حالا پیداش کردم چی کارش کنم ؟ هیچی محتویات اون رو بریز تو یک متغیر از نوع همون ابزاری که id بهش وصله


یعنی شما باید از طریق findcontrol کنترلی که id بهش وصله رو پیدا کنید و مقدار اون رو بردارید

M.KH-SH
شنبه 21 مرداد 1391, 19:45 عصر
دوست عزیز بحث id نیست بحث در مورد اینه که من میخوام زمان bind شدن gridview اول اطلاعات در یک تابع بره و خروجی اون رو gridview bind کنه و در کل اون خروجی رو همیشه نگه داره

دوست عزیز این بحث شما بله کاملا درست هستش ولی به موضوع من ربطی نداره

M.KH-SH
شنبه 21 مرداد 1391, 19:51 عصر
راستی تمام صفحه ها رو غیر فعال نمیکنه در صفحه های دیگه ای که من textbox داشتم هنوز نمیشه تگ وارد کرد

راستی این freetextbox تنظیم خواصی برای آپلود تصویر داره؟

Fartaj
شنبه 21 مرداد 1391, 20:23 عصر
در مورد کارتون با گرید کاش بیشتر توضیح می دادین شما می خواین قبل از نمایش در گرید اطلاعات رو با یک تابع تغییراتی بدین بعد نمایش بدین ؟؟

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

در کل نمی فهمم منظورت چیه :متفکر:

در مورد freetextbox باید بگم آره آپلود تصویر داره طبق یک کتاب پیاده کردم نمی دونم چقدر کار کنه برام (trial بودنش معلوم نیست ) فکر نمی کنم trial باشه

M.KH-SH
شنبه 21 مرداد 1391, 21:17 عصر
freetextbox نه منم فکر نکنم تریال باشه اون نسخه ای که شما پروژه رو دانلود کردین یک سریال نامبر هم داخل یک پوشه داره که فکر نکنم تریال باشه

تنها مشکلی که داره (شایدم من بلد نباشم) اینه که ریسایز نمیشه و در بعضی جاها باعث بهم خوردگی تصویر میشه