景色:
<div class="project" style="background-image: url('@project.ProjectLogoPath')">
モデル:
public List<Projects> GetProjects() {
DataContext dbContext = new DataContext();
List<Projects> projects_list = new List<Projects>();
foreach (Project p in dbContext.Projects) {
Projects c = new Projects();
c.ProjectName = p.p_name;
c.ProjectNumber = p.p_num;
c.CompanyName = p.co_name;
c.ClientName = p.cl_name;
c.ProjectLogoPath = "../../Storage/" + p.co_name + "/Clients/" + p.cl_name + "/" + p.p_num + "_" + p.p_name + "/99_Other/project_logo.png";
projects_list.Add(c);
}
return projects_list;
}
コントローラー:
public ActionResult Index() {
ProjectsBAL b = new ProjectsBAL();
List<Projects> c = b.GetProjects();
ViewBag.ProjectsData = c;
UserBAL u = new UserBAL();
Users use = u.GetUser();
ViewBag.Username = use.Username;
ViewBag.Domain = use.Domain;
ViewBag.Company = use.Company;
return View("Index");
}
これは完全にうまく機能します。問題は、1000 テラバイトのコンテンツ データをすべてサブフォルダーに保存できないことです。コンテンツはリモート サーバーに保存され、ドライブは IIS サーバーのドライブ文字 M にマウントされます。パスは正しいですか?懸念される行は次のとおりです。
c.ProjectLogoPath = "../../Storage/" + p.co_name + "/Clients/" + p.cl_name + "/" + p.p_num + "_" + p.p_name + "/99_Other/project_logo.png";
私はすでに試しました:
c.ProjectLogoPath = "M:/Storage/" + p.co_name + "/Clients/" + p.cl_name + "/" + p.p_num + "_" + p.p_name + "/99_Other/project_logo.png";
また、すべての「/」を「\」に置き換えてみました。また、最初に「file://///」を使用してみましたが、これは散発的にしか機能しないようでした (たとえば、ページを更新すると機能しませんが、ホーム ボタンを押すと機能します)。
基本的に、Web サイトの標準コンテンツ フォルダが非常に大きいため、Web サーバーではなく、別のデータ サーバーに格納するのが適切でないと想像してみてください。それが私が解決しようとしている問題です。