【问题标题】:How to solve "Error! The requested URL returned 500 - Internal Server Error"如何解决“错误!请求的 URL 返回 500 - 内部服务器错误”
【发布时间】:2012-09-03 03:32:15
【问题描述】:

我正在使用数据绑定 Ajax 和 MVC 3 使用 Telerik Grid。我遇到的第一个问题是当我要在 Grid 中加载数据时,数据加载成功。但有时它会显示弹出错误消息“错误!请求的 URL 返回 500 - 内部服务器错误”。第二个是当我尝试过滤 grid 中的值时,我得到了同样的异常但并非总是如此。

谁能告诉我,为什么有时会出现此错误?以及如何解决此问题以及如何停止显示错误弹出窗口?请指导我。谢谢。

这是我的视图代码:

@(
Html.Telerik().Grid<ItemValueView>()
           .Name("ItemGrid")
           .Scrollable(scrollable => scrollable.Height("550px"))
           .ClientEvents(events => events
                                       .OnLoad("onLoad")                                                                                      .OnDataBound("onDataBound")
                                       .OnEdit("onEdit")
                                       //.OnSave("onSave")
           )
           .Editable(editing => editing.Mode(GridEditMode.InLine))
           .DataKeys(dataKeys => dataKeys.Add(i => i.ItemKey))
           .DataBinding(dataBinding => dataBinding
                                           //Ajax binding
                                           .Ajax()
                                           .OperationMode(GridOperationMode.Server)
                                           .Select("AjaxToolSelect", "SalesTool")

                                                                                         .Update("AjaxToolUpdate", "SalesTool")
           )

           .Columns(columns =>
                        {
                            columns.Bound(i => i.CustomerName).Title("Customer").ReadOnly();
                            columns.Bound(i => i.DisplayClassKey).Title("Sub Class").ReadOnly();
                            columns.Bound(i => i.Place).Visible(false);
}) 
                                    .Pageable(pager => pager.PageSize(50))
                                    .Sortable(sorting => sorting
                                    .SortMode(GridSortMode.MultipleColumn)
                                    .OrderBy(sortOrder =>
                                                 {
                                                     sortOrder.Add(i => i.CustomerName);
                                                     sortOrder.Add(i => i.DisplayClassKey);

                                                 }))
           .Groupable(grouping => grouping
                                      .Groups(groups => groups.Add(g => g.CustomerName))
           )
           .Filterable()

我的控制者是:

    [HttpPost]
    [GridAction]
    public ActionResult AjaxToolSelect()
    {
        var items = DataProvider.GetAllItems(true);
        var grid = new GridModel(items);
        return View(grid);
    }

【问题讨论】:

  • 请问相关代码? :)
  • 大约有 2^156 个原因可能会导致您在 Web 应用程序中收到 500 错误。您是否希望我在答案中列举它们,或者您可能会展示您的代码,这将大大缩小这个数字?
  • 您的控制器方法很可能出现问题。设置断点并单步执行您的代码。
  • 我知道这没有帮助,但我唯一一次得到 500 错误是当 asp 不喜欢 url 中的某些字符时。有时当我发布看起来像 sql 注入的数据时
  • 谁能知道如何隐藏引用属性以避免在我的情况下出现循环引用问题?

标签: c# javascript asp.net-mvc-3 jquery


【解决方案1】:

500 Internal Server Error 是一个非常普遍的错误。 500 表示服务器出现问题(在这种情况下很可能在 C# 代码或视图中)。它并没有真正告诉我们发生了什么问题。

要追踪错误,您可以尝试一些方法。如果您在 Visual Studio 中运行,请检查输出日志并查看那里是否有任何错误消息。尝试在 C# 中设置断点并查看实际执行的代码。如果您在 Web 浏览器中访问开发人员工具,您可以找到返回 500 作为其状态码的实际 Web 请求。因为它可能有一些额外的信息给你。在 Google Chrome 中,您可以按 F12 键,转到网络选项卡,选择请求,然后查看预览或响应选项卡。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-08
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 2017-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多