PDA

View Full Version : عدم تغییر مقادیر کنترل های خوانده شده داخل UpdatePanel بعد از خواندن



sanaz.dadkhah
یک شنبه 26 آبان 1392, 16:00 عصر
سلام من updatepanel دارم که داخلش کنترل Ckeditor دارم هنگام ویرایش مقادیر را داخل آن لود میکنم اما بعد از تغییر هنگامی که مقدار آن را می خوانم همان مقدار لود اولیه را به من بر می گرداند
لطفا راهنمایی کنید

Mohammad_dn
یک شنبه 26 آبان 1392, 17:50 عصر
سلام کدتونو بزارید تا بهتر بتونیم راهنمایی کنیم

sanaz.dadkhah
یک شنبه 26 آبان 1392, 20:46 عصر
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<link href="Editor/contents.css" rel="stylesheet" type="text/css" />
<script src="Editor/ckeditor.js" type="text/javascript"></script>
<body>
<script type="text/javascript">
</script>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" Height="390px" Width="788px"
Text="123"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button"
onclick="Button1_Click" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</form>
</body>
</html>




protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{
String StrScript = "CKEDITOR.replace( '" + TextBox1.ClientID + "', {toolbar:'Medium'});";
ClientScript.RegisterStartupScript(this.GetType(), "Editor", StrScript, true);
}
}
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = TextBox1.Text;
}

Mohammad_dn
یک شنبه 26 آبان 1392, 20:50 عصر
شما مقادیر رو توی دیتابیس ذخیره میکنی؟دستور ویرایشتون چیه؟

sanaz.dadkhah
یک شنبه 26 آبان 1392, 23:23 عصر
بله من در بانک دخیره می کنم و معماریم هم معماری سه لایه است.
ببینید مشکل اینجاس که من همین جا توی رویداد کلیک هم به مقادیر تغییر یافته دسترسی ندارم

Mohammad_dn
دوشنبه 27 آبان 1392, 00:32 صبح
سلام...ببخشید من اینو میگم...اما سوالتون یکم برام گنگه...



ببینید مشکل اینجاس که من همین جا توی رویداد کلیک هم به مقادیر تغییر یافته دسترسی ندارم


رویداد کلیک که فقط مقادیر از یک شیئ یه یک شیئ دیگه انتقال میده(؟؟؟)اطلاعات که از بانک خونده نمیشه...در رویداد کلیک مقادیر رو از بانک بخونید
ببینید مراحل ویرایش یک پست به صورت تئوری:
1:فراخوانی پست(Title,Post,....)
2:گذاشتن مقادیر در باکس های مورد نظر(TextBox1.Text=reader[Title].toString())
3:ثبت تغییرات:

int intNum = 0;
intNum = cmd.ExecuteNonQuery();

نکته ای که وجود داره اینه که بعد از ویرایش مقدار intNum باید حتما بزرگتر از 0 باشه...

حالا دلایل ثبت نشدن اطلاعات:
1:ممکنه آپدیت پنل مشکل داشته باشه...یه بار کداتونو خارج از آپدیت پنل اجرا کنید
2:ممکنه intNum برابر با 0 باشه(یعنی هیچ رکوردی تغییر نکرده)

در ضمن دستور sql صادره ی خودتونو برای ویرایش پست برسی کنید(ممکنه دستورتونو بد ارسال کرده باشید)

sanaz.dadkhah
دوشنبه 27 آبان 1392, 09:47 صبح
مشکل من در دستور sql و ثبت نیست مشکل اینجاس که مقادیر تغییر داده شده در کنترل ها تغییراتشان در سمت سرور قابل دسترسی نیستند یعنی اگر در حالت لود ابتدا مقدار کنترل 123 باشد و بعد من مقدار را به 123456 بدهم خروجی که میخانم همان 123 خاهد بود

Mohammad_dn
دوشنبه 27 آبان 1392, 17:50 عصر
سلام

شما از چه کنترلی استفاده میکنید؟آیا این مقادیر بعد از پست بک قابل خوندن نیستن؟اگر اطلاعات شما درست در بانک ثبت شده باشه شما هر وقت که بخواید میتونید به اون اطلاعات به سادگی دسترسی داشته باشید....فرقی نمیکنه که داخل UpdatePanel باشه یا نباشه