2010-12-20 5 views
3

戻り値View(viewModel); Visual Studioで原因エラー2008修正する方法 'System.Web.Mvc.ViewResult'型を 'string'に暗黙的に変換できません。

暗黙のうちにあなたはメソッド呼び出しに.ToString()を追加する必要があるかもしれません

public ActionResult Welcome(string name, int numTimes = 1) 
     { 
      var viewModel = new WelcomeViewModel 
      { 
       Message = "Hello " + name, 
       NumTimes = numTimes 
      }; 

      return View(viewModel); 
     } 

     public class WelcomeViewModel 
     { 
      public string Message { get; set; } 
      public int NumTimes { get; set; } 
     } 
+2

おそらく、私たちに推測させる代わりに、このエラーを引き起こす行を教えてくれるでしょうか? – cdhowie

+1

戻るビュー(viewModel); – MvcFriend

+3

ええと...あなたが指示した通りに「Welcome」が宣言されていることを確かめてください。 'Welcome'を含むクラス定義全体を貼り付けることができますか? – cdhowie

答えて

2

「文字列」に型「System.Web.Mvc.ViewResult」を変換できませんどこ今まであなたをほとんどの場合、期待される結果が返されるわけではありませんが、それを呼び出しています。代わりに、Stringを返す別のWelcomeメソッドを作成し、そのメソッド内で必要な処理を行います。

+6

ありがとうございます。私はActionResultを返さないので、エラーが発生したことを発見しました。ありがとうございました。 – MvcFriend

+0

私の最初のMVCチュートリアルに続いて、私はここで私を導いてくれました。したがって、これはまだ間違いがあると思います。これを解決済みとマークし、適切な回答を投稿する必要があります。この最後のコメント(私が問題を解決するのに役立つ)はちょっと見つけにくいです。 –

+0

@CarlosGarciaは、指定されたメソッドの戻り値の型がActionResultであり、stringではないことを示しています。このエラーは、チュートリアルに従っているモデルをビューに渡すコントローラーを実装しようとしているときに発生します。 –

関連する問題