MVC3アプリケーションにコンボボックスがあります。新しいアイテムが選択されると、それは私が望むようにポストバックを行います。そこにすべていい。このプロセスでは、クエリ文字列をポップアップして読み込みます。ページが更新されると、クエリ文字列が読み込まれ、必要に応じて他のコントロールが設定されます。ページがポストバックの結果であるかどうかを検出する方法
しかし、ページが読み込まれたとき、つまりページが最初に読み込まれたときとは逆に、ポストバックの結果であることを検出する必要があります。これは、ページが最初に読み込まれたときに、誰かがコンボボックスから何かを選ぶまで、すべてが台無しになるからです。
しかし、サイトの新しいユーザーはそれを知りませんし、ちょうど混乱を見るでしょう。
MVC3のアプリケーションはASP.Netと同じisPostbackを持っていないことを理解していますが、私が理解できないさまざまな理由から、何らかの形で「accaptable」とは考えられません。
しかし、ASP.Netで行われたのと同じ方法でページの最初の読み込みとポストバックを区別する信頼できる方法が100%保証されているかどうかを知りたいだけです。そのような方法があれば、それは何であり、どのように実装することができます。
私はこれを行うこと他のポストのを見てきました:
public bool IsPostBack
{
get
{
return ViewBag.IsPostBack = (Request.HttpMethod == "POST");
}
}
を私はこれは常に真実であることを他の場所をお読みください。したがって、これが常に真実であれば、最初のロードでも真であり、そうであれば、それがポストバックかどうかを確実に伝えることはできません。私はもちろん、それはある種のポストバックです。しかし、それが最初の負荷の場合ではありません。
誰でもこの回答をお願いします。また、標準のaspxビューエンジンとは対照的に、Razorビューエンジンを使用しています。
asp.net mvc –
には「ポストバック」がありませんあなたのアクションをどのようにコーディングしているのか興味深いでしょう。これを検出する最も一般的な方法は次のとおりです.GETは初めてのリクエスト(つまりポストバックではない)であり、POSTはポストバックになることは明らかです –
あなたはまだWebフォームアーキテクチャでアプリケーションについて考えています。これはBad™です。 MVC3のチュートリアルをチェックしてください。 – Tyrsius