ビューディレクトリの外に保存された@モデルを受け取る部分ビューファイルがあります。実際にはapp_dataに格納されています。ASP MVC 5 - ビューフォルダ外の部分ビューファイル
私はエラーを取得するしかし:
以下The name 'model' does not exist in the current context
Source File: ...\app_data\_DefaultLayout.cshtml
は私のコードです:次のように
@Html.Partial("~/app_data/_DefaultLayout.cshtml"), Model)
デフォルトレイアウトは次のとおりです。
@using System.Web.Mvc
@using System.Web.Mvc.Html
@model MyApp.ViewModels.CreateCaseViewModel
// some html and razor code
はい私はこの規約を承知しています。しかし、私はユーザーがレイアウトファイルをアップロードできるようにする必要があり、明示的なセキュリティ上の理由から、ビューフォルダ内でそのようなアクセスを許可することができません。 – adam78
ユーザーがレイアウトファイルをアップロードできるようにしてはいけません。もしそれらが再帰的ループのためのC#コードを持っているいくつかのファイルをアップロードすればどうなるでしょうか?あなたのアプリのルートからファイルを読み込み、それをuiに表示するコードがあればどうなりますか?コードはサーバ上で実行され、人々はそれを誤って使用することができます。それはセキュリティ上の懸念です。気になるのがhtmlマークアップ/スタイルであれば、リッチテキストエディタのようなページを編集できるエディタuiのようなものを考慮して、そのマークアップをテーブルに格納し、必要に応じてレンダリングするようにする必要があります。ブログ) – Shyju
フォームの構造体がxmlまたはjsonとして格納されているフォームをレイアウトできるようにするには、それらが必要です。カミソリを使うことはxsltよりはるかに簡単でした。だから私はカミソリを使ってレイアウトを保存しています。もう1つのオプションは、xsltを使用してフォームを構築し、ユーザーがフォームをレイアウトするためにxsltファイルをアップロードできるようにすることです。 – adam78