0

Asp.Net MVCでは、フォームを送信するたびにモデルプロパティをインクリメントしたいと思います(ボタンクリック)。

HttpGetとHttpPostの両方を試しました。HttpGetを使用すると、値は常にクエリ文字列によって上書きされ、常に0になります。HttpPostを使用すると、値は0から始まり、ボタンをクリックすると1に増加します。 1に。

私が理解していることから、それは0、0 + 1 = 1を入力し、0を出力します

簡単にするには:

@using (Html.BeginForm())
{
    @Html.HiddenFor(x=>x.Value) or @Html.Hidden("Value", Model.Value)
    or even <input type="hidden" value="@Model.Value" />
    <input type="submit" value="Click Me" />
}

public ViewResult ActionMethod(Model model)
{
    model.Value++;
    return View(model);
}

私の質問は基本的にこれです: ボタンごとの増分数はC#ASP.NETをクリックします が、MVCフレームワークでは。

このようなモデルプロパティをどのように操作しますか?Javascriptは使いたくない。

4

2 に答える 2

0

私が言われたことから、これが唯一の解決策です:

私はこれがうまくいくことを発見しました、しかしそれは本当にひどいです

int temp = ++model.Value;
ModelState.Remove("Value");
model.Value = temp;

モデルパラメータをビューに渡す場合、ビューは、モデルの現在の状態で渡したものをすべて取得して、そのパラメータをバインドする必要があります。

于 2012-04-21T15:55:35.817 に答える
-2

電話する必要があります

UpdateModel(model); 

ちゃんと覚えたら。

于 2012-04-20T22:27:53.280 に答える