有什么区别Html.Partial和Html.action使用在asp.net MVC3的局部视图的背景?
我试图理解为什么当我在我看来这样做时,我得到一个错误
@Html.RenderPartial("MyPartial", Model);
Run Code Online (Sandbox Code Playgroud)
编译错误说明:在编译服务此请求所需的资源期间发生错误.请查看以下特定错误详细信息并相应地修改源代码.
编译器错误消息:CS1502:'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)'的最佳重载方法匹配有一些无效的参数
但是当我这样做时,部分渲染很好
@{
Html.RenderPartial("MyPartial", Model);
}
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么第一个例子失败了?
在ASP.NET MVC中,有什么区别:
Html.Partial and Html.RenderPartial
Html.Action and Html.RenderAction
Run Code Online (Sandbox Code Playgroud) 可能重复:
Html.Partial vs Html.RenderPartial&Html.Action vs Html.RenderAction
我有3个问题.
1-Whats与RenderPartial和Partial方法完全不同?
1-Whats与RenderAction和Partial RenderPartial完全不同?
2-RendePage方法是什么?
我是asp.net的新手,我有一个页面,我想作为局部视图显示.该页面是一个div标签,就像这样<div> Html.RenderPartial("view",Model)</div>
,我用Html.Render做同样的事情,但它只适用于RenderPartial.
有谁知道为什么,以及有什么不同?我知道Renderpartial对于Image等更好.但是还有另一个区别吗?非常感谢:)
我在视图中有以下代码:
@if (SiteSession.SubPageHelper.DisplayType == DisplayType.List)
{
Html.Partial("_SubLandingPage_List");
}
else
{
Html.Partial("_SubLandingPage_Grid");
}
Run Code Online (Sandbox Code Playgroud)
在部分内容中我只有一个像这样的foreach循环:
@foreach (Product product in SiteSession.SubPageHelper.PagedProducts)
{
some html code here
}
Run Code Online (Sandbox Code Playgroud)
凡PagedProducts从做了.Take()产品缓存列表
现在上面的代码不会显示我的分页产品,但是如果我更改了部分以包含at符号,则删除分号:
@Html.Partial("_SubLandingPage_Grid")
Run Code Online (Sandbox Code Playgroud)
它会正确显示产品.任何人都可以告诉我这两个版本之间的区别是因为我花了很长时间才弄清楚产品没有显示的原因
尝试在布局上渲染部分动作时遇到问题.在线上 :
@{Html.RenderAction("Login");}
Run Code Online (Sandbox Code Playgroud)
我收到错误"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>
Run Code Online (Sandbox Code Playgroud)
} …
部分1文件中的代码:
@Html.Partial("Partial2", 50)
Run Code Online (Sandbox Code Playgroud)
部分2文件中的代码:
@if(passed in parameter == 50)
{
<div>50 Was Passed In</div>
}
Run Code Online (Sandbox Code Playgroud)
这真的需要我创建一个新的控制器吗?
我是非常新的asp.net MVC请让我知道应该在哪里使用局部视图和我应该在哪里渲染部分视图.提前致谢
我有这个控制器,它获取一个我想在局部视图中呈现的对象:
public ActionResult EditPhoto(string id)
{
var photo = RavenSession.Load<ContentPage>(id);
return View("_editPhoto");
}
Run Code Online (Sandbox Code Playgroud)
它的照片我想传递给我的部分视图.在我看来,我有这个:
@{
Html.RenderPartial("_editPhoto" );
}
Run Code Online (Sandbox Code Playgroud)
我将如何将我的照片传递到局部视图以便在其父级中呈现?
编辑:这是我将对象传递给控制器的方式:
@foreach (var item in Model.Photographys)
{
<li class="span3" style="text-align: center">
<div class="thumbnail thumbnail-1">
@Html.ActionLink(item.Name,
"EditPhoto", // <-- ActionMethod
new { id = item.Id }, // <-- Route arguments.
null // <-- htmlArguments .. which are none. You need this value
// otherwise you call the WRONG method ...
// (refer to comments, below).
)
<h3 style="margin-bottom: 10px;">@item.Name</h3>
<div class="">
<div …Run Code Online (Sandbox Code Playgroud)