クラスを使用して、ランダムな 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ブロックを静的ブロック内に配置するには、クラスに正確に何を渡す必要がありますか?