尝试在布局上渲染部分操作时遇到问题。在线:
@{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
答案 0 :(得分:8)
在你的cshtml文件中使用@ Html.Partial,而不是@ Html.RenderPartial。