Asp.net mvc 3 关于mvc中部分视图的加载

Asp.net mvc 3 关于mvc中部分视图的加载,asp.net-mvc-3,Asp.net Mvc 3,我是mvc的新手。现在学习。我在mvc中搜索各种加载局部视图的技术,在stackoverflow中我得到了一个很好的方法。给你。 如果要直接在主视图中加载局部视图,可以使用Html.Action助手: @Html.Action("Load", "Home") 或者,如果不想执行加载操作,请使用HtmlPartial hepler: @Html.Partial("_LoadView") If you want to use Ajax.ActionLink, replace your Html.

我是mvc的新手。现在学习。我在mvc中搜索各种加载局部视图的技术,在stackoverflow中我得到了一个很好的方法。给你。 如果要直接在主视图中加载局部视图,可以使用Html.Action助手:

@Html.Action("Load", "Home")
或者,如果不想执行加载操作,请使用HtmlPartial hepler:

@Html.Partial("_LoadView")

If you want to use Ajax.ActionLink, replace your Html.ActionLink with:

@Ajax.ActionLink(
    "load partial view", 
    "Load", 
    "Home", 
    new AjaxOptions { UpdateTargetId = "result" }
)
当然,您需要在页面中包含一个支架,以便显示部分内容:

<div id="result"></div>
我知道
@Html.Partial(“\u LoadView”)
的用法,但不明白@Html.Action(“Load”、“Home”)将如何工作

谁能给我举几个例子来说明

@Html.Action("Load", "Home")
它与
@Html.Partial(“\u LoadView”)

谢谢

将在“HomeController”中执行“加载”操作结果。 此操作可能会返回以下任何一项(参考:):

  • 内容结果
  • 空结果
  • 文件结果
  • HttpUnauthorizedResult
  • JavaScriptResult
  • JsonResult
  • 重定向结果
  • 重定向路由结果
  • ViewResultBase

将在当前视图中插入局部视图“\u LoadView”

如果您熟悉web表单,请将您的局部视图视为.ascx(用户控件)

编辑:

@Html.Action()
的使用示例:

假设你有这样的观点:

<p>Here is my name: @Html.Action("Name")</p>

Html.Partial

  • 将部分视图呈现为HTML编码的字符串
  • 此方法结果可以存储在变量中,因为它返回字符串类型值
  • 简单易用,无需创建任何操作
  • 当部分视图中显示的数据已经在相应的视图模型中时,可以使用部分方法。例如:在博客中显示文章的评论,我们希望使用RenderPartial方法,因为带有评论的文章信息已经在视图模型中填充

    @Html.Partial(“\u注释”)

  • Html.Action

  • 将局部视图渲染为HtmlString
  • 对于此方法,我们需要为渲染局部视图创建子操作
  • 此方法结果可以存储在变量中,因为它返回字符串类型值
  • 当部分视图中的显示数据独立于相应的视图模型时,操作方法非常有用。例如:在博客中,要在每个页面上显示类别列表,我们希望使用操作方法,因为类别列表由不同的模型填充

    @{Html.Action(“Category”、“Home”);}


  • 谢谢你的回答。仍然@Html.Action()不是很清楚,何时使用,以及它与其他呈现局部视图的方式有何不同。如果你给我一个小的示例代码,告诉我什么时候使用@Html.Action(),那将非常有帮助。通过一个小例子感谢您的回答。您试图说它的优点是使用@Html.Action(“Name”),我们可以调用任何控制器操作方法,@Html.Partial(“\u LoadView”)始终与独立的部分视图直接相关。谢谢你,就我所知,这是正确的。我不是MVC大师,但这是我的经验。谢谢你的回答。仍然@Html.Action()不是很清楚,何时使用,以及它与其他呈现局部视图的方式有何不同。如果你给我一个小的示例代码,告诉我什么时候使用@Html.Action(),那将非常有帮助。谢谢你看这里
    @Html.Action("Load", "Home")
    @Html.Partial("_LoadView")
    
    @Html.Action("Load", "Home")
    
    @Html.Action("Load", "Home")
    
    @Html.Partial("_LoadView")
    
    <p>Here is my name: @Html.Action("Name")</p>
    
    public class FooController : Controller
    {
        //
        // GET: /Foo/
    
        public ActionResult Index()
        {
            return View();
        }
    
       // GET: /Foo/Name
    
        public ActionResult Name()
        {
           return Content("Annish");
        }
    }