1

我遇到了一个与我正在尝试设置的小型 Intranet 应用程序相关的令人费解的问题。

我使用 Windows Auth 在 IIS 中运行它。一切都在正常运行,除了这一件事。

在我的设置页面上,我有一个“用户管理员”列表,他们批准或拒绝其他用户提交的内容。我进行了这样的设置,以便我可以从网站本身中添加或删除管理员。在 VS2010 中,这在我的本地机器上一切正常,但是,我尝试推送到我的开发测试服务器并遇到了一个问题:每当我单击“添加管理员”链接时,服务器在 javascript 控制台中返回 503 错误尝试点击“设置/UserAdminRow”时。

这让我感到困惑,因为它在本地运行良好,并且该站点的其余部分运行良好。我的任何日志中都没有错误(为此应用程序设置的自定义日志、Windows 事件日志等)。

这是设置页面的 Razor 代码和 javascript。

<ul id="adminEditor" style="list-style-type: none">
    @foreach (string userAdmin in Model.UserAdmins)
    {
        Html.RenderPartial("UserAdminsEditor", userAdmin);
    }
</ul>
<a id="addAnother">@StringTable.GetString("AddAdmin")</a>     

<script type="text/javascript" language="javascript">
<!--
$("#addAnother").click(function () {
    $.get('Settings/UserAdminRow', function (template) {
        $("#adminEditor").append(template);
    });
});
-->   
</script>

这就是它的要求:

public ActionResult UserAdminRow()
{
     return PartialView("UserAdminsEditor");    
}

这是“UserAdminsEditor”剃须刀代码。

@model string

<li style="padding-bottom: 15px">
@using (Html.BeginCollectionItem("UserAdmins"))
{
    @Html.TextBoxFor(model => model)

    <a href="#" onclick="$(this).parent().remove();">@StringTable.GetString("Remove")</a>
}

</li>

BeginCollectionItem是对我在这里找到的扩展方法的引用:http: //ivanz.com/2011/06/16/editing-variable-length-reorderable-collections-in-asp-net-mvc-part-1/

有什么建议么?我完全被难住了。

4

1 回答 1

0

对此进行简单修复。将呼叫中的 url$.get从“Settings/UserAdminRow”更改为“./Settings/UserAdminRow/”,它工作正常。我需要做的就是添加句点。

于 2012-11-16T17:57:45.863 回答