PDA

View Full Version : سوال: مشکل آپدیت پنل آیجکس



EnKamran
جمعه 16 دی 1390, 00:16 صبح
آقا این منو کشت آپدیت پنل انگار که یک عضو بیمصرف تو صفحه ی منه !
کل صفحه آپدیت میشه کدها رو ببینید :

<asp:UpdatePanel runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false" ID="upTimer">
<ContentTemplate>

<asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick" ></asp:Timer>

</ContentTemplate>
</asp:UpdatePanel>


<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>

<asp:Label runat="server" ID="Lab1"></asp:Label>
<br/>
<asp:Label runat="server" ID="lbTime"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>

اینم کدبیهایند

public DateTime endTime;
public TimeSpan timespann;
protected void Page_Load(object sender, EventArgs e)
{
endTime = DateTime.Now.AddHours(1);
lbTime.Text = DateTime.Now.ToString();
}

protected void Timer1_Tick(object sender, EventArgs e)
{
//timespann = endTime.Subtract(DateTime.Now);
//DateTime now = DateTime.Now;
//Response.Write(endTime.Subtract(now).TotalSeconds. ToString());
//Lab1.Text = timespann.ToString();
//lbTime.Text = DateTime.Now.ToString();
}

Rohollaes
جمعه 16 دی 1390, 00:32 صبح
دقیقا اگه میگفتی میخوای چیکار کنی بهتر بود اما اینطوری که من تو کدت دیدم شما باید واسه updatepanel ت تریگر تعریف کنی و اونو به کنترلی که میخوای فقط توسط اون update بشه رو وصل کنی . اگه متوجه نشدی تا مثال بزارم

EnKamran
جمعه 16 دی 1390, 02:27 صبح
متشکر.
تریگر هم تعریف کردم نشد!
اصلا قاطی کرده بخدا، خود به خود درست شد!
ببین اصل کار من اینه که میخوام تایمر معکوس داشته باشم، میام اول چند تا متغیر عمومی تعریف میکنم :

DateTime endTime = DateTime.Now.AddHour(1);
DateTime now = DateTime.Now;

حالا میام تو تیک تایمر مینویسم :

now = DateTime.Now;
lbTime.Text = DateTime.Now.ToLongTimeString();
Label1.Text = endTime.Subtract(now).Hours.ToString() + " : " + endTime.Subtract(now).Minutes.ToString() +
" : " + endTime.Subtract(now).Seconds.ToString();

جالب اینجاست که چیزی که تو نتیجه دیده میشه اینه :
1:0:0
و تغییری نمیکنه در صورتی که باید ثانیه ثانیه کم بشه،دیباگ که کردم دیدم هر بار now و endTime مقدار میگیرن یعنی تو هر تیک مقدار اونها هم عوض میشه در صورتی که من اونا رو حتی تو پیج لود هم مقدار ندادم.
اصل ماجرا اینه که زمان پایان تو بانک ذخیره شده و من برای اینکه زمان پایان رئ بدونم باید از بانک بگیرم خوب حالا اگر من تو هر تیک بخوام این کارو انجام بدم فک کنید چقد افت سرعت پیدا میکنه، خوب من میتونم زمان پایان که یک زمان مشخص هست رو تو یه متغیر بذارم و دیگه بای چک کردن اختلاف زمان پایان با زمان حال به بانک وصل نشم، مشکل اینجاست که همه متغیرهام با هر تیک دوباره مقدار میگیرن یه متغیر باید درست کنم که مقدارش عوض نشه تو هر تیک.