1

私はこれまでマスター ページを使用したことがなく、いくつかの大規模な MVC 3 プロジェクトと多数の Asp.NET "Web サイト" 電子メール フォームを完了しただけでした。私がやろうとしているのは、ColdFusion のアプリケーションを ASP.NET に変換することです。私は 20 の個別のサブサイトを持っており、それらすべてが共通のデータベースから人々の情報を引き出しています。ColdFusion では、これらの 20 ページのそれぞれに 1 つの変数を設定し、その変数を使用して適切な人々のリストを表示するメインの ColdFusion ファイルを含めるだけです。

ASP.NET では、インクルードを実行できません。私は WebForms を使用していないので、#include は使用できません。マスター ページの使用について読みましたが、それらを複数のプロジェクトで使用できますか? 入力変数に基づいてデータを取得する「メイン」プロジェクトの作成と、マスター プロジェクトからの情報を含む/表示する 20 のシンプルで非常に軽量な (ただし完全に別の) ページの作成を視覚化しています。それぞれに共通のライブラリが含まれる 20 個のプロジェクトを作成する必要はありません。これは、何かを更新する必要がある場合、10 個のプロジェクトすべてを公開する必要があることを意味するためです。これは避けたいことです。

Web フォーム プロジェクトを実行せずに、.aspx ファイルを #include することはできますか? 私が今持っているファイル レイアウトは、マスター プロジェクトが /sites/masterproject にあり、サブサイトが /sites/site1/directory、/sites/site2/directory のようになっているため、これが必要であると考えています。できれば、20 の個別のプロジェクトではなく、1 つのインクルードを含む単純なページにします。

4

3 に答える 3

1

これを試して:

<!-- #include file ="mypage.cshtml " -->
于 2012-08-27T18:04:54.073 に答える
0

.netで同じ効果を作成する方法の1つは、Asp.NetUserControlsを作成して正しく使用することです。http://msdn.microsoft.com/en-us/library/26db8ysc(v=vs.85).aspx。これらはほとんどHTMLコードの一部であり、後で他のページにドラッグアンドドロップするだけで.Netコードを含めることができ、結果のHTMLは常に同じになるか、動的になる可能性があります。人々は、他のテクノロジーに含まれているのと同じようにそれを使用します。

幸運を。

于 2012-08-27T18:15:54.160 に答える
0

.aspx ページでは、@Page ディレクティブで MasterPageFile 属性を使用して、マスター ページのパスを指定できます。

したがって、VS2008 の既定のプロジェクト テンプレートを使用すると、ページに次のようなものがあります。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" MasterPageFile="../../masterproject/site.master" %>

(適切な相対パスを指定するだけで、絶対パスでもおそらく機能します)

于 2012-08-27T18:09:00.123 に答える