0

クラスを使用して、ランダムな cshtml ページに動的な html コードを追加できるようにする必要があります。

public class HTMLRenderClass
{
    //--here I generate html code
    public void RenderControll()
    {
        LiteralControl ControlGroup = new LiteralControl();
        ControlGroup.Text = "<h1>Here will be html code generated above</h1>";
        Page p = HttpContext.Current.Handler as Page;
        if (p != null) p.Controls.Add(ControlGroup);
        else { throw new UserFriendlyException("Page still null"); }
    }
}

cshtml内で次のように呼び出すことができるように

@{
HTMLRenderClass c = new HTMLRenderClass();
c.RenderControll();
}

しかし問題は、"HttpContext.Current.Handler as Page" が常に null であるため、必要なページに自分の html を追加する方法がわからないことです。「ページオブジェクト」パラメーターを渡さずに c.RenderControll() メソッドを使用できる状況の解決策はありますか? そうでない場合、動的htmlブロックを静的ブロック内に配置するには、クラスに正確に何を渡す必要がありますか?

4

0 に答える 0