我知道我今天有很多问题,但是仍然想通过学习MVC 2领带的方式来控制一切。在进入问题之前,我已经尝试过提供here的解决方案,但出现500个内部服务器错误。
因此,这就是我想要做的事情,我为用户提供了从技能列表中进行选择的能力(已加载到ListView用户控件中),或将新技能添加到列表中并进行选择。新功能的添加完成(使用WCF服务和jQuery),但是现在我正尝试重新加载用户控件的技能。
根据我链接到的解决方案,我向AccountController添加了一个操作
public ActionResult GetSkillControl()
{
return View("~/Views/Shared/SkillsListView.ascx");
}
我有一个跨度内的控件(所以它有一个容器)
<tr>
<td style="vertical-align:top;"><label for="SkillsListView" title="Skills">Skills:</label></td>
<td class="regElements"><span id="SkillListViewContainer"> <% Html.RenderPartial("SkillsListView"); %></span><%= Html.ValidationMessageFor(m => m.Skills, "*")%><br />
<span id="AddSkillError"></span>
Add: <input type="text" id="NewSkill" class="inputbox" style="width:75px;" /> <input type="button" value="Add" id="AddSkill" name="AddSkill" /></td>
<td></td>
</tr>
在我的jQuery ajax通话中
success: function () {
$('#SkillListViewContainer').load('../AccountController/GetSkillControl');
}
到那时,Chrome中的JavaScript控制台显示它返回500内部服务器错误。我在这里想念什么?
最佳答案
根据ASP.NET MVC中的标准路由,尝试“ / Account / GetSkillControl”。您从jQuery的load方法中使用的任何内容都必须是有效的URL。路由引擎正在查找或Account,而不是AccountController。同样,通过使用前导“ /”,它将从站点的根目录开始解析。