ASP.Net MVC3渲染部分动作返回错误

时间:2011-11-11 13:49:00

标签: asp.net-mvc asp.net-mvc-3 razor

尝试在布局上渲染部分操作时遇到问题。在线:

@{Html.RenderAction("Login");}

我收到错误“CS1501:方法没有重载'写'需要0个参数”。我也尝试过直接调用RenderPartial,结果相同......你能告诉我出了什么问题吗?

我的部分观点的代码:

@model SikWebRole.Models.LogOnModel
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $('.LoginLink').click(function () {
            $('#loginForm').submit();
        });
    });
</script>
@using (Html.BeginForm("LogOn", "Account", FormMethod.Post, new { id = "loginForm" }))
{
<div class="loginBox">
    <div class="errorMsg">
        @Html.ValidationSummary(true, "Błędny login/hasło.")
    </div>
    <div class="loginHolder">
        <input type="text" class="textInput" name="UserName" value="Login" />
    </div>

    <div class="passwordHolder">
        <input type="text" class="textInput" name="Password" value="Hasło" />
    </div>
    <input name="RememberMe" style="display:none;" type="hidden" value="true"/>
    <a href="#" class="loginLink" ><span class="loginButton">Zaloguj</span></a>

    <ul><a href="#"><li class="registerLi">Zarejestruj</li></a><a href="#"><li class="RemindLi">Przypomnij hasło</li></a></ul>
</div>

}

用于渲染操作的函数:

public PartialViewResult Login()
    {
        return PartialView("LogOnForm", new SikWebRole.Models.LogOnModel());
    }

我要呈现的局部视图属于来自Account Controller的“LogOn”方法,而Login方法位于Picture Controller中,也许这就是原因?

我很高兴得到所有答案。

最好的问候

根据要求,这是我的Layout.cshtml代码:http://pastebin.com/He2Rp5P4

1 个答案:

答案 0 :(得分:8)

在你的cshtml文件中使用@ Html.Partial,而不是@ Html.RenderPartial。