C# 这里500错误最可能的原因是什么?
我将向您展示所有涉及的活动部件 查看:C# 这里500错误最可能的原因是什么?,c#,asp.net,ajax,asp.net-mvc,tsql,C#,Asp.net,Ajax,Asp.net Mvc,Tsql,我将向您展示所有涉及的活动部件 查看: @{ ViewBag.Title = "Partners"; } <div class="row"> <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> <h1>Partners</h1> <p>Click to see survey answers or delete partner</
@{
ViewBag.Title = "Partners";
}
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<h1>Partners</h1>
<p>Click to see survey answers or delete partner</p>
<table class="table">
<thead>
<tr>
<th>Partner Name</th><th>Actions</th>
</tr>
</thead>
<tbody>
@foreach ( var NameIdPair in ViewBag.PartnersAndIds )
{
<tr>
<td>
@NameIdPair.Name
</td>
<td>
<button class="btn btn-info view-partner-surveys" data-partnerid="@NameIdPair.Id">View Survey Answers</button>
<button class="btn btn-warning delete-partner" data-partnerid="@NameIdPair.Id">Delete Partner</button>
</td>
</tr>
}
</tbody>
</table>
</div>
</div>
@section bottommost {
<script type="text/javascript">
$('.delete-partner').click(function () {
var row = $(this).closest('tr');
$.ajax({
method: 'POST',
url: 'DeletePartner',
data: { pid: $(this).attr('data-partnerid') },
dataType: 'json',
processData: false,
beforeSend: function () {
row.addClass('processing');
},
success: function (retinfo) {
if (retinfo.DeletedSuccessfully) { row.remove(); }
else { alert("Error .."); row.removeClass('processing'); }
},
error: function () { alert("Error"); row.removeClass('processing'); }
});
});
</script>
}
在由定义的模型中使用方法DeletePartner
public bool DeletePartner ( int id )
{
SqlCommand cmd = new SqlCommand("DeletePartner", this._Conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@id", id);
this._Conn.Open();
bool succeeded = cmd.ExecuteNonQuery() == 1 ? true : false;
this._Conn.Close();
return succeeded;
}
存储过程的调用非常简单
[HttpPost]
public ActionResult DeletePartner ( int pid )
{
return Json(new { DeletedSuccessfully = this._Db.DeletePartner(pid) });
}
CREATE PROCEDURE DeletePartner
@id INT
AS
DELETE FROM Partners WHERE id=@id
你知道我哪里出错了吗?你应该像下面那样使用
ajax
调用的url
url: '@Url.Action("DeletePartner")'
您必须以如下格式提供ajax url
url : '../controllerName/ActionName'
[HttpPost]
public ActionResult DeletePartner ( int pid )
{
return Json(new { DeletedSuccessfully = this._Db.DeletePartner(pid) });
}
控制器无法识别成功删除的
变量。因此,它可能会导致500个错误自行查找错误-查看方法:您是否检查了ajax url是否正常工作。为确保在控制器中放置断点。500内部服务器错误
表示控制器代码正在引发异常。你需要调试你的代码!您可以使用浏览器工具(网络选项卡)检查响应,该响应将提供错误的详细信息。