i was writing code in MVC and i don't' understand behaviours public properties in my project!! my code its very simple, increment property. When i clik on button the property is overwrites. Its work only when i have STATIC property, but when i have PUBLIC, increments doesnt work. public propertys are fleeting? Could you help me understand this, its my controller:
public class DatsController : Controller
{
// GET: Dats
Dats dats;
static public int _Var
{
get; set;
}
public DatsController()
{
dats = new Dats();
}
public ActionResult Index()
{
if (Request.HttpMethod == "post")
{
ViewBag.zmienna = _Var;
dats.dayToday = DateTime.Now.Date;
}
else
{
// var = var + 5;
ViewBag.zmienna = _Var;
}
return View();
}
public ActionResult Next()
{
_Var = _Var + 5;
//dats.firstDayWeek = data.firstDayWeek.AddDays(7);
return RedirectToAction("Index", "Dats");
}
}
ok thx for your answers!! I was read,and i was wrote another code and still not working.... I know where is issue but i dont know how to fix them ;/ if you could help me i will be greatfull :)
My model:
public class Dats
{
static private DateTime _dataToday;
static private DateTime _firstDayWeek;
static private DateTime _lastDayWeek;
static public DateTime DayToday { get { return _dataToday = DateTime.Now.Date; } }
static public DateTime FirstDayWeek { get { return _firstDayWeek = Dats.pierwszyDzienTygodnia(_dataToday); } set { _firstDayWeek = value; } }
static public DateTime LastDayWeek { get { return _lastDayWeek = Dats.ostatniDzienTygodnia(_dataToday); } set { _lastDayWeek = value; } }
static public DateTime pierwszyDzienTygodnia(DateTime data)
{
int dzien = DayOfWeek.Monday - data.DayOfWeek;
if (dzien > 0)
{
dzien -= 7;
}
return data.Date.AddDays(dzien);
}
static public DateTime ostatniDzienTygodnia(DateTime data)
{
DateTime ostatniDzien = pierwszyDzienTygodnia(data.Date);
return ostatniDzien.Date.AddDays(6);
}
}
my controller:
public class DatsController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Next()
{
Dats.FirstDayWeek = Dats.FirstDayWeek.AddDays(7);
return RedirectToAction("Index", "Dats");
}
}
my view:
@using (Html.BeginForm("Next", "Dats", FormMethod.Post))
{
<button type="submit">Next</button>
@*@Html.ActionLink("dalej","Next", "Visits",new {data =7})*@
<dl class="dl-horizontal">
@Dats.DayToday
<dd>@Dats.FirstDayWeek</dd>
<dd>@Dats.LastDayWeek</dd>
</dl>
}
and i would like to increse dates in my property firstDayWeek.