我有一个Kendo TreeList,其数据源定义为
foreach($db in $dbs) {
if ($db.Name.EndsWith("_test")) {
Write - Host "Checking database:"
$db.Name - BackgroundColor "Yellow" - ForegroundColor "Black"
$dbname = $db.Name# database check
$db.CheckTables('None')
我的控制器的读取方法是:
var ds = new kendo.data.TreeListDataSource({
transport: {
read: {
url: "/Home/Read/",
type: "POST",
dataType: "json"
}},
schema:...
}
只要我通过VS本地运行,一切都很有效但是一旦我部署到我们的登台服务器,Read()传输代码永远不会被执行。我收到500错误。按F-12查看IE中的请求显示500错误
有关其为何在本地运行但未在服务器上运行以及如何解决此问题的任何想法或建议?
答案 0 :(得分:1)
尝试使用@Url.Action("Read", "Home")
var ds = new kendo.data.TreeListDataSource({
transport: {
read: {
url: '@Url.Action("Read", "Home")',
type: "POST",
dataType: "json"
}},
schema:...
}
如果您的javascript代码位于javascript文件中,则无法使用剃刀助手。在这种情况下我做的是将它添加到我保存在我的布局文件中的URL列表中。像这样:
<script type="text/javascript">
var Configuration;
(function (Configuration) {
var urls = {
Read: '@Url.Action("Read", "Home")'
}
Configuration.url = urls;
})(Configuration || (Configuration = {}));
</script>
然后将其用作:
transport: {
read: {
url: Configuration.url.Read
}
}