我正在尝试将根网址存储在我的_Layout.cshtml
中的javascript变量中,如下所示。
<script type="text/javascript">
var rootpath = "";
$(document).ready(function () {
rootpath = "@VirtualPathUtility.ToAbsolute("~/")";
});
</script>
视图为
<script src="~/Scripts/Sales/AddInvoice.js"></script>
@using(Html.BeginForm("Save","Invoice",FormMethod.Post,new { @id = "frmInvoice" }))
{
}
然后在我的JS文件中,我使用rootpath
,如下所示:
prepUIAutocomp(rootpath + "Sales/Invoice/GetCustomer", "clientid", "ClientMst_clientname", {}, null, 1);
它工作正常,直到回发/刷新。之后rootpath
是undefined
。
由于每个视图都使用_Layout.cshtml
,因此路径应该随每个请求一起更新吗?还是我错过了什么?
我希望能够在我的所有视图及其相关的javascripts中使用rootpath
变量来创建与ajax相关的URL。有什么建议吗?
感谢
答案 0 :(得分:0)
接缝很慢的一天。 我不得不改变我的脚本如下,它的工作原理。在这里发布面临类似问题的其他人。
<script type="text/javascript">
var rootpath = "";
$(document).ready(function () {
var x = "@VirtualPathUtility.ToAbsolute("~/")";
if (x && x != "")
rootpath = x;
});
</script>
但我原来的问题仍然存在。
为什么VirtualPathUtility.ToAbsolute("~/")
的值首先为空?
是什么导致rootpath的价值消失?