私は、矢印ボタンを使って日々切り替えることができるアプリケーションを作っています。 asp.net mvcで。 (左矢印が1日後に移動することを確認してください) 私は単なる学生で、mvcとrazorとC#ではあまり進歩していません。asp.netボタンを使ってビューからコントローラにデータを渡す方法
私はビューバックでデータを渡そうとしていますが、コントローラは更新されたvarを読み取っていません。
CSHTMLコード
@using (@Html.BeginForm("Index", "Day", FormMethod.Post))
{
@Html.AntiForgeryToken()
string CurrDay = ViewBag.CurrentDay.ToString();
@Html.Hidden("CurrentDay", CurrDay);
<div class="DayWrapper">
<input type="submit" name="Butteun1" value="<" class="DayButtons" style="border-right-width: 2px;" onclick="getElementById('CurrentDay').innerHTML = '1'" />
<a href="../HourMonth">
<div class="AgendaDayButton">
<p> @ViewBag.CurrentDay.ToShortDateString() </p>
</div>
</a>
<input type="submit" name="Butteun2" value=">" class="DayButtons" style="border-left-width: 2px;" onclick="getElementById('CurrentDay').innerHTML = '-1'" />
</div>
コントローラコード
[HttpGet]
public ActionResult Index(string sortOrder, int? customerIdFilter, int? projectIdFilter, string monthFilter, bool? totalsPerDay, int? CurrentEmployeeID, bool? missingDays, string Currentday)
{
totalsPerDay = GetCurrentTotalsPerDay(totalsPerDay);
missingDays = GetCurrentMissingDays(missingDays);
SetDefaultViewbag(sortOrder, monthFilter, totalsPerDay, CurrentEmployeeID, missingDays);
string CurryDay = ViewBag.CurrentDay.ToString();
if (CurryDay == "1")
{
Day.AddDays(1);
return View(Day);
}
else if (CurryDay == "-1")
{
Day.AddDays(-1);
return View(Day);
}
return View(GetData(sortOrder, customerIdFilter, projectIdFilter, totalsPerDay, CurrentEmployeeID, missingDays));
}
だから**正確に**問題はありますか? –
あなたがボタンを押すと、 'currentday'が「1」または「-1」に変わります(ちょうど両方のボタンがvarを1に変えていることに気づきました)、そして表示された日付は変更されますが、 if else文のブレークポイント 'currentday'はまったく変更されていません。 –