تاپیک مورد نظر بسته شده است
باسلام
من webformی دارم که یک counter داره و هربار که صفحه باز میشه این counter یکی بالا باید بره. مشکلی که دارم اینه که کدهای داخل code behind دوبار فراخوانی میشن.
من کدم رو داخل if(!Ispostback) نوشتم و AutoEventWireup صفحه رو هم true قرار دادم. اما نمیفهمم چرا کدهای من همیشه دو دفعه call میشن.
متشکرم
کدتون رو قرار بدید تا بررسی کنم
کدمربوط به code behind که داخل page_load نوشته شده:
if (!Page.IsPostBack) { AmarDay amarday = db.AmarDays.Where(x => x.Date == ShamsiDate).FirstOrDefault(); int amar = 1; if (amarday == null) { db.AmarDayIns(1, ShamsiDate); db.SaveChanges(); } else { amar = amarday.Amar.Value + 1; db.AmarDayUpd(amar, ShamsiDate, amarday.Id, amarday.Id); db.SaveChanges(); } //---------------------------- lbl_amarToday.Text = amar.ToString(); }
در کدام رویداد نوشتید و در کدام صفحه ؟
این هم کد ابتدایی web form بخش html
<%@ Page Language="C#" ViewStateMode="Inherit" MasterPageFile="~/_Layout.master" AutoEventWireup="true" Inherits="anti_virus_bit_defender" CodeBehind="bit-defender.aspx.cs" %>
توی page_load نوشتم و دریکی از صفحات نمایش اطلاعات
public partial class anti_virus_bit_defender : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { //همین کدهایی که الان گذاشتم } } }
در رویداد زیر تست کنید
protected void Page_LoadComplete(object sender, EventArgs e) { display(); }
درست شد.متشکرم
هیچ کاربری تا کنون از این پست تشکر نکرده است
تاپیک مورد نظر بسته شده و امکان درج پاسخ وجود ندارد
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)