从Controller返回的对象是Null On Server。在本地运行时,对象返回

时间:2017-10-05 20:23:01

标签: javascript c# json asp.net-mvc iis

已解决..发现这是服务器权限与本地之间的问题。服务器作为不同的用户运行,并且没有执行存储过程所需的所有显式权限。

我有一个正在执行get操作的mvc应用程序。控制器返回一个JSON对象。然后在javascript端有一个通用的JS类,它将对象显示在用户界面中。

问题是,在服务器上部署此应用程序时,运行get会返回错误。而在本地运行它可以按预期运行。

有没有什么方法可以调试控制器端发生的事情或至少抛出一些异常?

这是控制器:

    [HttpGet]
    public ActionResult GetMessageLog(string address)
    {
        List<MessageErrorLog> results = _logicHelper.GetMesseageErrorLogByInput(address);

        if (results == null)
            return Json(new MessageErrorLog(), JsonRequestBehavior.AllowGet);

        return Json(results.Select(x => new
        {
            LogId = x.LogId
        }), JsonRequestBehavior.AllowGet);
    }

表格:

        @using (Html.BeginForm("GetMessageLog", "Home", FormMethod.Get, new { id = "messagelog-form", onsubmit = "SearchAndWriteRecordsWithActions(event, this, WriteSearchResultsWithButtonForAction, AddToRow)" }))
        {
            <label>Address</label>
            <input type="text" name="Address" id="address" />

            <button id="messageLog-submit-btn" class="btn btn-primary" type="submit" onclick="ClearSearch()">Search</button><br /><br />
        }

这是JS回调:

    WriteSearchResultsWithButtonForAction: function (list, $output, addToRowCallback) {
    ADMIN.Log("WriteSearchResults", JSON.stringify(list));
    if (list == null) {
        alert("No object returned when it should have one");
    }

问题出在上面..列表对象为空。在本地,它不是。它在服务器上。

在此应用程序的其他方面,我使用非常相似的功能,并在服务器上正常工作。所以我有点难过为什么这会从控制器返回一个NULL对象。

0 个答案:

没有答案