500 asp.net 内部服务器错误
500 Internal Server Error in asp.net
问题概述:我正在创建一个应用程序,其中我有一个html选择列表,从中我选择一个类别,并从该类别中获取项目,并使用ajax webmethod获得图像。
问题概述:我在ajax linq to sql中遇到了许多500错误并修复了它。但是现在我正在研究 ado.net 应用程序,我面临的问题是当我从选择列表(catlist)中选择一个类别时,它从这里向我显示错误error: function (xhr) { alert(xhr.status);}
。
[参数异常]:未知的 Web 方法列表。 参数名称:方法名称 at System.Web.Script.Services.WebServiceData.GetMethodData(String methodName) at System.Web.Handlers.ScriptModule.OnPostAcquireRequestState(Object sender, EventArgs eventArgs) at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completeSyncally).
如何修复此错误。我想我简要地描述了我的问题。
默认.Aspx 代码概述:
下面是我的网页
<table>
<tr>
<td>
<select id="catlist" runat="server" onchange="getImageUrl()"></select>
</td>
<td></td>
</tr>
<tr>
<td>
<img id="imgload" width="180" height="100" src="" alt="No Image Found" />
</td>
<td>
<ul>
<li>Description</li>
<li>Loreum IspumLoreum IspumLoreum IspumLoreum IspumLoreum IspumLoreum IspumLoreum Ispum</li>
</ul>
</td>
</tr>
</table>
下面是我的Javascript函数
function getImageUrl() {
var catid = $("#catlist")[0].value;
$.ajax({
url: "Default.aspx/elist",
data: { catId: catid },
contentType: "Application/json; charset=utf-8",
responseType: "json",
method: "POST",
success: function (response) {
alert(response.d);
},
error: function (xhr) {
alert(xhr.status);
},
Failure: function (response) {
alert(response);
}
});
}
Default.Aspx.cs 代码概述:
以下是我的自定义课程
public class events
{
public string EVE_NAME { get; set; }
public string EVE_IMG_URL { get; set; }
public string EVE_DESCRIPTION_SHORT { get; set; }
}
下面是数据表方法
private static DataTable dt2(int catId)
{
DataTable dataTable = new DataTable();
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=EVENT;Persist Security Info=True;User ID=sa;Password = 123");
string query = "sp_view";
SqlCommand cmd = new SqlCommand(query, conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@catID", SqlDbType.Int).Value = catId;
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dataTable);
return dataTable;
}
下面是网络方法
[WebMethod]
private static List<events> elist(int catId)
{
List<events> eve = new List<events>();
eve = (from DataRow row in dt2(catId).Rows
select new events
{
EVE_NAME = row["EVE_NAME"].ToString(),
EVE_IMG_URL = row["EVE_IMG_URL"].ToString(),
EVE_DESCRIPTION_SHORT = row["EVE_DESCRIPTION_SHORT"].ToString(),
}).ToList();
return eve;
}
注意:数据库列名和事件类属性名相同。
根据属性 WebMethod 的文档:
https://msdn.microsoft.com/en-us/library/byxd99hx(v=vs.90).aspx
将 WebMethod 属性附加到公共方法表示您希望该方法作为 XML Web 服务的一部分公开。还可以使用此属性的属性进一步配置 XML Web 服务方法的行为。有关更多信息,请参见托管代码中 XML Web 服务的代码模型。
我想,Jon Skeet是对的。 :)
WebMethod 必须是公共的,否则将无法从外部访问。
我只是在我的 web 方法属性后面放了[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
行,并将我与 web 方法关联的所有方法都公开。现在我的明文代码是:
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public static List<events> elist(int catId)
{
List<events> eve = new List<events>();
eve = (from DataRow row in dt2(catId).Rows
select new events
{
EVE_NAME = row["EVE_NAME"].ToString(),
EVE_IMG_URL = row["EVE_IMG_URL"].ToString(),
EVE_DESCRIPTION_SHORT = row["EVE_DESCRIPTION_SHORT"].ToString(),
}).ToList();
return eve;
}
public static DataTable dt2(int catId)
{
DataTable dataTable = new DataTable();
SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=EVENT;Persist Security Info=True;User ID=sa;Password = 123");
string query = "sp_view";
SqlCommand cmd = new SqlCommand(query, conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@catID", SqlDbType.Int).Value = catId;
conn.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dataTable);
conn.Close();
da.Dispose();
return dataTable;
}
- SignalR:调用集线器方法时出现内部服务器错误
- 如何解决“;错误所请求的URL返回500-内部服务器错误”;
- 使用javascript API响应内部服务器错误将曲目上传到SoundCloud
- AJAX错误状态代码500内部服务器错误
- Python在尝试保存新的JSON文件时导致服务器错误
- Jcrop&画布:裁剪区域的大小很奇怪;500内部服务器错误
- 如果JS会话变量为null,如何避免500内部服务器错误
- 如何在getJSON中捕获服务器错误
- POST encodeURI查询字符串内部服务器错误 500
- getJSON:网络错误:500 内部服务器错误
- 如何捕获服务器错误 JS
- Node.js:Mongoose内部服务器错误
- 缺少用于创建的模板.内部服务器错误-聚合物表单保存到数据库
- Jquery AJAX Post:500(内部服务器错误)
- 我的联系表格在测试/PHPMailer后给了我一个内部服务器错误(500)
- 服务器错误消息的正确正则表达式
- 500(内部服务器错误)的外部php文件
- 当显示找不到服务器错误页面时,如何刷新页面/框架
- 如何使用ng-messages在Angularjs中显示服务器错误
- 内部服务器错误在 post 请求中使用 Angular js 中的自定义服务