0

PHP の力を利用して、ASP.NET でコード テンプレートを作成できるようにしたいと考えています。次の 2 つのコード ファイルは同じ出力になりますが、PHP の方が洗練されており、他の PHP ファイルにインポートして再利用することもできます。

ASP.NET:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="ASP_dot_NET_test.WebForm1" %>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server"><title></title></head>
<body>
<script runat="server">
    delegate void Make_buttons(int count);
</script>
<%
Make_buttons Make_buttons = i =>
    {
    for (int k = 0; k < 2; k++)
        {
        %>
        <hr />
        <button><%= "buy " + i + " candies!" %></button>
        <%
        }
    };
%>

<div>
    <%
    Make_buttons(count: 5);
    %>
</div>
</body>
</html>

PHP:

<!DOCTYPE html>
<html>
<head><title></title></head>
<body>
<?php
function Make_buttons ($i)
    {
    for ($k = 0; $k < 2; $k++)
        {
        ?>
        <hr />
        <button><?= "buy " . $i . " candies!"; ?></button>
        <?php
        }
    }
?>

<div>
    <?php
    Make_buttons(5);
    ?>
</div>
</body>
</html>

マスター ページについては知っていますが、マスター ページは上記のようなコード テンプレートではなく、ページ テンプレートを作成します。

これを達成するための最良の方法は何ですか?

4

2 に答える 2

0

.aspx でそれを行う方法がわかりません。Razor テンプレートに切り替える場合は、次のようにヘルパー構文を使用できます。

@helper SayHello(string name)
{
    <div>Hello @name</div>
}

@SayHello("John")

マジック ディレクトリ「App_Code」を作成し、そこに共有 cshtml ファイルを配置することで、複数のファイルでヘルパーを共有できます。

http://www.asp.net/web-pages/overview/ui-layouts-and-themes/creating-and-using-a-helper-in-an-aspnet-web-pages-site

一般的なレーザー ヘルパーを別のファイルに移動する

Razor でメソッドを定義するにはどうすればよいですか?

于 2016-07-02T23:31:18.767 に答える