これで少し苦労します。コントローラから絶対URLをViewに渡し、jqueryのURLを取得してAjax呼び出しに渡そうとしています。 URLは正しく構築されていません。どのように正しい方法でそれを取得するための任意のヘルプ?jQueryのMVC ViewDataからURLを取得します。
ここで@ Html.Rawを試しました。しかし運がない!
MVCコントローラ
public IActionResult Something()
{
var baseDirPath= System.AppDomain.CurrentDomain.BaseDirectory;
var fileLocation = Path.Combine(baseDirPath, "wwwroot", "myDir",
"test.docx");
ViewData["Path"] = fileLocation;
return View();
}
MVCビュー
<script type="text/javascript">
$(document).ready(function() {
//Cannotretrieve the path here from the viewdata
var path = "@Html.Raw(ViewData["Path"])";
console.log(documentPath);
var kkk= $("#div");
kkk.kendoWindow({
open: function (e) {
$.ajax({
url: documentPath,
async: true,
success: function (msg) {
//success
},
});
}
}).data("kendoWindow").center().open();
});
</script>
は、あなたが例のパスを表示することができますjqueryので
Html.Encode()
でViewData.Eval()
を使用することができ、それが何であるかをパス? –更新されたコントローラコード – aspnetbeginner245
絶対パスを使用してファイルにアクセスできないため、相対パスを使用する必要があります –