0

私はMVCを初めて使用します。私のマスターページには、次のコードがあります

var strAppThemes = <%= Html.RenderAction("PickupThemes", "Header") %>;

そして、私の HeaderController は以下のように定義されています:

public class HeaderController : Controller
{
    public ViewResult Index()
    {
        return View(PickupThemes());
    }

    public string PickupThemes()
    {
         return "Hello Lavanya Deepak!";
    }
}

そのヘッダーを使用してこのマスター ページから派生している aspx ページを参照すると、次のエラーがスローされます。

コンパイラ エラー メッセージ: CS1502: 'System.IO.TextWriter.Write(char)' に最適なオーバーロードされたメソッドの一致には、無効な引数がいくつかあります

18 行目: var strAppThemes = <%= Html.RenderAction("PickupThemes", "Header") %>;

私はどこで間違っていますか?

4

2 に答える 2

0

今は違うルートを扱っています。<% 構文を使用する代わりに、コントローラー/メソッドへのリクエストを ajax し、出力をキャプチャしています。

--トムの提案に基づく。

追加の http リクエストをシードするため、これが最善の方法かどうかはわかりません。18行目の理由を明らかにできる人がいれば: var strAppThemes = <%= Html.RenderAction("PickupThemes", "Header") %>; それは素晴らしいだろう動作していません。

于 2013-03-06T18:35:29.980 に答える
0

戻り値の型は実際には ActionResult のままで、Content の ActionResult にすぎません。以下のように。

public ActionResult PickupThemese() {
    return Content("Hello Lavanya Deepak!");
}
于 2013-03-06T17:19:15.727 に答える