0

2つの異なるコントローラーアクションがあります。以下に示すように、一方は他方と同じビューを呼び出します。フィットネスバージョンには、jqueryuiタブがたくさんあります。

    public ActionResult FitnessByTab(string tab, DateTime entryDate)
    {
        return View("Fitness", GetFitnessVM(DateTime.Today.Date));
    }


    public ActionResult Fitness()
    {

        return View(GetFitnessVM(DateTime.Today.Date));
    }

    private FitnessVM GetFitnessVM(DateTime dt)
   {
        FitnessVM vm = new FitnessVM();
        vm.Date = dt;
       // a bunch of other date that comes from a database
        return vm;
    }

問題は、アクションFitnessByTab()ではタブが正しくロードされないが、Fitness()では正常にロードされることです。私の理解では、その時点で同じコードパスを通過するというのはどうしてでしょうか。ご覧のとおり、問題の原因となっている別の日付ではないことを確認するために、両方を同じ日付にハードコーディングしています。

編集

問題は解決されました。それは私のすべてのリンクの相対的な参照でした。Url.Content(」の代わりに「../../」が原因で欠落している参照を強調表示するfirebugを使用するまで、問題は発生しませんでした 。

4

2 に答える 2

0

あなたが示したことから、問題がどこから来ているのかを判断するのは困難です。あなたはいくつかの重要な詳細を見逃していると思います。また、質問のタイトルでリダイレクトについて話しているのはなぜですか?どちらのアクションも同じビューをレンダリングします。ここではリダイレクトは発生しません。

コードが実際にこのように見える場合は、最初のアクションが引数を完全に無視し、実際に結果が同じになるため、2つのアクションは絶対に必要ありません。また、それらのアクションをどのように呼んでいますか?同じですか?

GetFitnessVMメソッドによって返されるタイプは何ですか?文字列の場合、これが問題になる可能性があります。

于 2010-05-20T18:23:34.553 に答える
0

問題は解決されました。それは私のすべてのリンクの相対的な参照でした。Url.Content(」の代わりに「../../」が原因で欠落している参照を強調表示するfirebugを使用するまで、問題は発生しませんでした。

于 2010-05-20T21:41:01.980 に答える