ASP.NETとC#のビューから静的メソッドを呼び出すサンプルです。
(確認環境:Microsoft Visual Studio Community 2019)
目次
サンプル | ビューから静的メソッドを呼び出す |
ビュー(TestView1.cshtml) | |
静的メソッドがあるクラス(Class1.cs) | |
実行結果 | |
コントローラ(Test1Controller.cs) |
ビューから静的メソッドを呼び出す
ビューのTestView1.cshtmlからClass1.csの静的メソッドを呼び出して文字列を表示します。
https://localhost:44320/Test1/TestView1
ビュー(TestView1.cshtml)
@using asp_test2.Views;
@{var name = Class1.getName1();}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>@name</p>
@Class1.getName2()
</body>
</html>
1行目は、Class1.csがある場所を指定しています。無いとClass1が無いというエラーになります。
2行目は、静的メソッドで値を取得し変数に代入しています。
8行目は、取得した変数を表示します。
9行目は、取得した値をhtmlとして出力します。
静的メソッドがあるクラス(Class1.cs)
using System.Web;
namespace asp_test2.Views
{
public static class Class1
{
public static string getName1()
{
return ("ABCDE");
}
public static HtmlString getName2()
{
var str =
new HtmlString("<p style=\"background:orange\">ABCDE</p>");
return str;
}
}
}
7行目は、staticがあるので静的メソッドです。stringで文字列を返します。
11行目は、戻り値がHtmlStringです。
14行目は、「new HtmlString」でhtmlを返しています。pタグ内のダブルコーテーション(")は文字として扱うためエスケープしています。
実行結果
上記コードを実行すると画面に文字列が表示されます。
コントローラ(Test1Controller.cs)
ビュー(TestView1.cshtml)を表示するコントローラです。
using System.Web.Mvc;
namespace asp_test2.Controllers
{
public class Test1Controller : Controller
{
public ActionResult TestView1()
{
return View();
}
}
}
関連の記事