如何为部分视图创建单独的控制器和模型?我希望能够将这个局部视图放在网站的任何位置,这样它就需要它自己的控制器.我当前正在渲染部分
@Html.Partial("_Testimonials")
Run Code Online (Sandbox Code Playgroud) 我List<T>在我的视图中在一个剃刀foreach循环中迭代一个部分.在部分我正在渲染一个我希望在我的视图中连续4行的记录.我有两个结束列的css类,因此需要在部分中确定调用是第一个还是第四个记录.在我的部分中输出正确代码的最佳方法是什么?
这是我的主页面,其中包含循环:
@foreach (var myItem in Model.Members){
//if i = 1
<div class="grid_20">
<!-- Start Row -->
//is there someway to get in for i = 1 to 4 and pass to partial?
@Html.Partial("nameOfPartial", Model)
//if i = 4 then output below and reset i to 1
<div class="clear"></div>
<!-- End Row -->
</div>
}
Run Code Online (Sandbox Code Playgroud)
我想我可以创建一个int,我可以在每次传递时更新并在这里渲染文本没有问题,但它将整数值传递给我更偏心的部分.除非有更好的方法.
这是我的部分:
@{
switch()
case 1:
<text>
<div class="grid_4 alpha">
</text>
break;
case 4:
<text>
<div class="grid_4 omega">
</text>
break;
default:
<text>
<div …Run Code Online (Sandbox Code Playgroud) 我刚刚看到一篇博客提到了jRails 中的一个函数.他们用它来做ajax风格的页面更新.
$('#cart').html("<%=j render @cart %>");
Run Code Online (Sandbox Code Playgroud)
我得到他们正在使用cart局部渲染部分,但最重要的是j什么?我发现一些文章说它将字符串转换为JavaScript会接受的内容,但这意味着什么?
我有以下代码:
public ActionResult SomeAction()
{
return new JsonpResult
{
Data = new { Widget = "some partial html for the widget" }
};
}
Run Code Online (Sandbox Code Playgroud)
我想修改它以便我可以
public ActionResult SomeAction()
{
// will render HTML that I can pass to the JSONP result to return.
var partial = RenderPartial(viewModel);
return new JsonpResult
{
Data = new { Widget = partial }
};
}
Run Code Online (Sandbox Code Playgroud)
这可能吗?有人可以解释一下吗?
请注意,我在发布解决方案之前编辑了问题.
我目前在动态添加内容后面临验证问题.
我有一个强烈键入模型(Order)的视图.此订单可以包含许多项目.该模型看起来如下所示:
public class Order
{
[Key]
[HiddenInput]
public int id { get; set; }
[Display(Name = "Order Number")]
public string number { get; set; }
[Display(Name = "Order Date")]
[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime date { get; set; }
[Required(ErrorMessage = "Beneficiary is required.")]
[Display(Name = "Beneficiary")]
public int beneficiary_id { get; set; }
[Display(Name = "Beneficiary")]
public Beneficiary beneficiary { get; set; }
[Display(Name = "Items")]
public List<Item> items { get; set; …Run Code Online (Sandbox Code Playgroud) asp.net-mvc partial-views dynamically-generated razor unobtrusive-validation
我有一些数据ViewData.Model,在我看来,我想写一个局部视图,并传递我在页面中的当前模型.
我如何传递他们的电流ViewData.Model并通过部分位置渲染它们?
有人会确认ASP.NET MVC中部分视图的最佳位置吗?
我的想法是,如果它是一个全球视图,将在许多地方使用然后共享.
如果它是视图的一部分被包装到局部视图中以使代码读取更容易,那么它应该进入Views/Controller目录
我纠正还是错过了什么?
我是MVC开发的新手,所以请耐心等待.是否真的有必要将我的局部视图命名为_Action.cshtml(使用_下划线)以符合命名约定?
这是我的问题我有一个控制器(StudentController)和一个动作(List),它有一个名为"List.cshtml"的部分视图文件,并且有
@{ Html.RenderAction("List", "Student"); }
Run Code Online (Sandbox Code Playgroud)
在我的HomeController - Index视图中显示这个部分视图.但如果我将我的局部视图命名_List.cshtml为当然它将无效.Visual Studio甚至找不到我的动作学生 - 列表的视图,因为它认为它仍然在寻找与我的动作完全相同的名称(List.cshtml).我该怎么办?
我习惯于使用ascx.cs配对的ASP.NET ascx.:(
@model Customer
@Html.Partial("_UserProfile", (UserProfile)Model.UserProfile)
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,我收到此错误:
The model item passed into the dictionary is of type 'Customer', but this dictionary requires a model item of type 'UserProfile'.
Run Code Online (Sandbox Code Playgroud)
部分视图_UserProfile是强类型的.
我希望能够编辑这些字段.有什么建议?
我不确定我是否在这里做最好的方法,但是我有一个数据块,我想在搜索完成之后显示并且之前根本不存在.首先,没有什么可以显示,第二个它引用的模型是零,所以它抛出异常.
我将此块放在一个部分模板中,并在我的布局中添加了适当的位置.有条件干净地渲染局部的方法吗?有没有更好的方法来解决这个问题?
partial-views ×10
asp.net-mvc ×7
razor ×4
asp.net ×2
ajax ×1
c# ×1
helper ×1
javascript ×1
partial ×1
ruby ×1