我最近从WPF移到了Razor Pages(单页应用程序,而不是MVC Razor Views),并且无法访问元素上的功能。
在我的局部视图(crews.cshtml)
@page
@model CrewsModel
<body>
<div class="container">
<div class="row>">
<button class="btn btn-primary" id="clickyButton">refresh</button>
<p id="timeDisplays" class="row">
<partial name="Controls/DateTimeDisplayControl" , model="3/1/2019" />
</p>
</div>
</div>
</body>
<script src="~/lib/jquery/dist/jquery.js" type="text/javascript"></script>
<script>
var element = document.getElementById("timeDisplays");
console.log(element.className);
element.load("/DateTimeComponent?handler=DisplayTimePartial");
console.log("Reloaded");
</script>
我能够获取element.className写入控制台。但是,当我调用加载函数(或“ on”或“ bind”)时,我得到:
TypeError: element.load is not a function
我也尝试过:
element.on("load","/DateTimeComponent?handler=DisplayTimePartial");
为了进行测试,我将函数的主体替换为:
if (typeof jQuery != 'undefined')
{
// jQuery is loaded => print the version
alert(jQuery.fn.jquery);
}
确保已加载jQuery并安装了正确的版本。
最终目标是根据需要在“ timeDisplays” div中重新加载部分页面视图。
我正在使用.net core 2.2和jquery 3.3.1
答案 0 :(得分:3)
您没有使用jQuery api加载方法,而是使用了没有加载方法的浏览器api 因此,您可以这样做:
script>
var element = $("#timeDisplays");
element.load("/DateTimeComponent?handler=DisplayTimePartial");
console.log("Reloaded");
</script>
让我知道这是否对您有用。