簡體   English   中英

MicrosoftAjax.js-回發時POST 500(內部服務器錯誤)

[英]MicrosoftAjax.js - POST 500 (Internal Server Error) upon PostBack

我正在使用ASP.NET Web應用程序。 我在其中添加了一個內部帶有asp:updatepanelascx控制器的地方。 現在的問題是,當嘗試進行更新時,會出現以下錯誤:


MicrosoftAjax.js:5 POST http://localhost:49735/ 500 (Internal Server  Error)
    executeRequest       @ MicrosoftAjax.js:5
    executeRequest       @   MicrosoftAjax.js:5
    invoke               @ MicrosoftAjax.js:5
    _onFormSubmit        @ MicrosoftAjaxWebForms.js:5
    (anonymous function) @ MicrosoftAjax.js:5
    b                    @ MicrosoftAjax.js:5 


我的ascx文件如下所示:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="SearchResults.ascx.cs" Inherits="CarParts24.Controls.Search.Results.SearchResults" %>

<asp:UpdatePanel ID="UpdPnlSearchResults" runat="server">
<ContentTemplate>
    <span id="search-result-json" class="hidden">
        <asp:HiddenField ID="hiddenSearchResults" runat="server" />
    </span>

    <%--<asp:Panel ID="PanelResult" runat="server">--%>

          <%-- Some ordinary HTML code --%>

    <%--</asp:Panel>--%>
</ContentTemplate>
</asp:UpdatePanel>


和背后的代碼:

using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace CarParts24.Controls.Search.Results
{
public partial class SearchResults : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        PanelResult.Visible = false;
    }

    public void ShowResults(DataTable datatable)
    {
        hiddenSearchResults.Value = JsonConvert.SerializeObject(datatable);
        PanelResult.Visible = true;
    }
}
}

我發現了問題,這是由於<asp:HiddenField ID="hiddenSearchResults" runat="server" />在更新時進行了回發。 將其更改為<asp:Literal ID="hiddenSearchResults" runat="server" />解決此問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM