PDA

View Full Version : سوال: مشکل با درج خبر



arezoo_helpful
یک شنبه 29 مرداد 1391, 19:16 عصر
با سلام به همه اساتید محترم
من یک free text box دارم که در ان اقدام به نوشتن خبر می نمایم و پس از کلیک بر روی یک دکمه آن خبر درج می شود.اما یک مشکل بسیار بزرگ دارم و آن اینکه وقتی بین نوشته ها "enter" می زنم ،خبر درج نمی شود.

protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["mycs"].ConnectionString;
con.Open();

SqlCommand com = new SqlCommand();
com.Connection = con;
com.CommandText = "insert into news(title,content)Values(@title,@content)";
com.Parameters.AddWithValue("content", FreeTextBox1 .Text);
com.Parameters.AddWithValue("title", TextBox1 .Text );

com.ExecuteNonQuery();
com.Dispose();
con.Close();
con.Dispose();
}

ولی بدون اینتر کار می کند، لطفا کمک کنید.

fakhravari
یک شنبه 29 مرداد 1391, 19:54 عصر
میتوانید از پنل استفاده کنید DefaultButton
<asp:panel runat="server" DefaultButton="Button4">

<asp:Button ID="Button4" runat="server" Text="Button" onclick="Button4_Click" />

<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<br />
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>


</asp:panel>

h_r_sh
یک شنبه 29 مرداد 1391, 21:39 عصر
درج نمی شه یعنی چی؟ خطا می ده یا خالیثبت میشه؟

arezoo_helpful
یک شنبه 29 مرداد 1391, 21:50 عصر
درج نمی شه یعنی چی؟ خطا می ده یا خالیثبت میشه؟
نه خطا می دهد و نه چیزی درج می شود

h_r_sh
یک شنبه 29 مرداد 1391, 21:51 عصر
خب یه breakpoint بذارید ببینید حرف حسابش چیه. ضمنا فیلد content در database از چه نوعی هست؟

arezoo_helpful
یک شنبه 29 مرداد 1391, 21:53 عصر
میتوانید از پنل استفاده کنید DefaultButton
<asp:panel runat="server" DefaultButton="Button4">

<asp:Button ID="Button4" runat="server" Text="Button" onclick="Button4_Click" />

<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<br />
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>


</asp:panel>

امکانش هست یکم بیشتر توضیح بدید.ممنون می شم

arezoo_helpful
یک شنبه 29 مرداد 1391, 21:54 عصر
خب یه breakpoint بذارید ببینید حرف حسابش چیه. ضمنا فیلد content در database از چه نوعی هست؟

با سپاس.نوع آن ntext می باشد.راستش breakpoint بلد نیستم

h_r_sh
یک شنبه 29 مرداد 1391, 21:55 عصر
بین نوشته ها enter منظورتون اینه که اگه در هنگام نوشتن متن خبر enter بزنید و برید به خط بعد، درج نمی شه یا می خواید بعد از زدن کلید enter عمل درج انجام بشه؟

arezoo_helpful
یک شنبه 29 مرداد 1391, 22:26 عصر
می خوام در حین نوشتن متن اینتر بزنم و به خط بعد بره و بازم بتونم تایپ کنم.ضمن اینکه الان از یک ادیتور متن به نام free text box استفاده می کنم و تا وقتی که اینتر نزدم کار می کنه و خبر درج می شه و یک دکمه هم برای ثبت گذاشتم و روی اون کلیک می کنم و خبر درج میشه.
انگار سایت برنامه نویس مشکل داره دیگه بالا نمی یومد تا زودتر جواب بدم،ببخشید.

h_r_sh
یک شنبه 29 مرداد 1391, 22:31 عصر
یه بار به جای اون free text box یه textbox ساده بذارید و امتحان کنید ببینید نتیجه چی میشه

arezoo_helpful
یک شنبه 29 مرداد 1391, 22:36 عصر
گذاشتم فرقی نکرده.

arezoo_helpful
یک شنبه 29 مرداد 1391, 22:40 عصر
حتی توی خود دیتا بیس هم یک نوشته که توی ورد نوشته شده و چند خط اینتر داره رو دستی کپی می کنم،فقط تا قبل از اینتر رو ذخیره می کنه.

arezoo_helpful
دوشنبه 30 مرداد 1391, 10:31 صبح
لطفا کمک کنید،این همه اخبار که توی سایت ها هست و جملات با اینتر از هم جدا شده اند چگونه در دیتابیس ذخیره شده اند؟؟؟

Fartaj
دوشنبه 30 مرداد 1391, 11:15 صبح
مشکل عجیبی هست من خودم از free text box استفاده می کنم !

ببینید یک مسئله ای که هست شما وقتی دارید enter می زنید یعنی دارید تگ <br> رو استفاده می کنید باید ببینیم شما اجازه ثبت کدهای html v رو دادید یا نه ؟

دو نکته ای که شما باید در استفاده از editor باید رعایت کنید :

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

2- و نکته دوم شما باید این کد رو تو web.config بزارید


<httpRuntime requestValidationMode="2.0"/>

arezoo_helpful
دوشنبه 30 مرداد 1391, 11:32 صبح
ببخشید این ValidateRequest کجاست،پیداش نمی کنم و اون کدی که در web.config گفتید رو داخل کدوم قسمت web.config باید بذارم ، مثلا هرجایی داخل <system.web> باشاه اشکال نداره؟؟

arezoo_helpful
دوشنبه 30 مرداد 1391, 12:02 عصر
کد

<pages validateRequest="false" />

رو توی web.config به همراه

<httpRuntime requestValidationMode="2.0"/>

نوشتم و کار کرد.بسیار ممنونم.اما یک سوال این کد چیکار می کنه و برای چیه؟و آیا از لحاظ امنیتی مشکلی برای سایت ایجاد نمی شود.چون من نتونستم برای همون صفحه بنویسم.می شه بگید چطوری فقط validateRequest="false رو برای همون صفحه که ادیتور داخلش هست بنویسم؟
یک سوال دیگه هم داشتم و اون اینکه متن خبر رو در چی نشون بدم بهتره؟ ممنون می شم دوستان راهنمایی کنند

mehdi_gerami65
دوشنبه 30 مرداد 1391, 12:08 عصر
نه ببينيد اون اديتوري كه شما استفاده ميكنيد داراي يه پراپرتي به نام Generate Script است كه شما بايد اونو True كنيد اگه تو پراپرتي هاش نگاه كنيد پيدا ميكنيد بعد براي بريك پوينت شما تو قسمت كدنويسي اگه تو قسمت مربوط به مقدار دهي فيلد خير قسمت حاشيه كليك كنيد قرمز ميشه بعد از اجرا نگاه كنيد ببينيد چه طوري اطلاعات داخل تكست باكس خونده ميشه

arezoo_helpful
دوشنبه 30 مرداد 1391, 12:15 عصر
ممنون از همه دوستان
مشکلم حل شد،فقط می شه بگید متن خبر رو در چی به کاربر نشون بدم بهتره؟ ممنون می شم دوستان راهنمایی کنند

Fartaj
دوشنبه 30 مرداد 1391, 15:03 عصر
برای نمایش متن خبر شما داخل گرید یک hyperlink بزارید و id خبر رو با querystring بفرستید به یک صفحه دیگه مثلا به نام shownews و اونجا براساس id از جدول خبر محتوای خبر مربوط به اون id رو select کنید و بریزید داخل یک لیترال

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