我正在开发一个ASP.NET
Web 应用程序。我在其中添加了一个ascx
带有asp:updatepanel
内部的控制器。现在的问题是,当尝试进行更新时,会出现以下错误:
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;
}
}
}