从jQuery中的MVC ViewData检索URL
有点挣扎。我将从控制器传递一个绝对URL以供查看,并尝试在jquery中检索该URL以将其传递给Ajax调用。URL的构造不正确。有没有关于如何以正确的方式检索它的帮助 我在这里试过@Html.Raw。但是没有运气 MVC控制器从jQuery中的MVC ViewData检索URL,jquery,asp.net,asp.net-mvc,asp.net-mvc-4,razor,Jquery,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Razor,有点挣扎。我将从控制器传递一个绝对URL以供查看,并尝试在jquery中检索该URL以将其传递给Ajax调用。URL的构造不正确。有没有关于如何以正确的方式检索它的帮助 我在这里试过@Html.Raw。但是没有运气 MVC控制器 public IActionResult Something() { var baseDirPath= System.AppDomain.CurrentDomain.BaseDirectory; var fileLocation = Path.Comb
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>
$(文档).ready(函数(){
//无法在此从viewdata中删除路径
var path=“@Html.Raw(ViewData[“path”])”;
console.log(documentPath);
var kkk=$(“#div”);
肯多文多({
开放:功能(e){
$.ajax({
url:documentPath,
async:true,
成功:功能(msg){
//成功
},
});
}
}).data(“kendoWindow”).center().open();
});
或者,如果它是web表单,则使用JavaScriptSerializer(并在将适当的命名空间导入您的web表单-System.web.Script.Serialization之后):
var-str=;
在MVC应用程序中。使用视图模型和强类型视图,使代码如下所示:
var-str=;
这种技术更酷,因为现在您可以JSON序列化整个视图模型:
var模型=;
var str=model.Path;
或者,如果它是web表单,则使用JavaScriptSerializer(并在将适当的命名空间导入您的web表单-System.web.Script.Serialization之后):
var-str=;
在MVC应用程序中。使用视图模型和强类型视图,使代码如下所示:
var-str=;
这种技术更酷,因为现在您可以JSON序列化整个视图模型:
var模型=;
var str=model.Path;
您可以在jquery中使用ViewData.Eval()
和Html.Encode()
var path = '@Html.Encode(ViewData.Eval("Path"))';
console.log(path);
您可以在jquery中使用
ViewData.Eval()
和Html.Encode()
var path = '@Html.Encode(ViewData.Eval("Path"))';
console.log(path);
您能否显示示例路径,它是什么路径?更新的控制器代码您无法使用绝对路径访问文件,您需要使用相对路径您是否解决了问题您能否显示示例路径,它是什么路径?更新的控制器代码您无法使用绝对路径访问文件,你需要使用相对路径。你解决问题了吗。我在用剃须刀。但我无法解析Json.Encode中的“Encode”。我正在使用MVC6@aspnetbeginner245-MVC 6已重命名为MVC Core。如果你想要相关的答案,你应该在你的问题中添加正确的标签。谢谢sd.n。我在用剃须刀。但我无法解析Json.Encode中的“Encode”。我正在使用MVC6@aspnetbeginner245-MVC 6已重命名为MVC Core。如果你想要相关的答案,你应该在你的问题中添加正确的标签。
var path = '@Html.Encode(ViewData.Eval("Path"))';
console.log(path);