我想了解一个用户控件的等价物是在MVC应用程序中吗?根据我的理解,这是一个部分。我发现的问题是,当我使用用户控件时,我可以将逻辑封装在该控件中,并在多个页面中重复使用它,而不必担心父页面。MVC Partials与用户控件?
这是如何与MVC协同工作的?似乎没有任何方法可以用部分视图封装逻辑..事实上,它让我感到困惑。
这是否意味着对于任何可能使用部分的页面,控制器总是必须返回部分数据以防万一需要?这看起来效率不高吗?我似乎无法包围我的头如何工作......
我想了解一个用户控件的等价物是在MVC应用程序中吗?根据我的理解,这是一个部分。我发现的问题是,当我使用用户控件时,我可以将逻辑封装在该控件中,并在多个页面中重复使用它,而不必担心父页面。MVC Partials与用户控件?
这是如何与MVC协同工作的?似乎没有任何方法可以用部分视图封装逻辑..事实上,它让我感到困惑。
这是否意味着对于任何可能使用部分的页面,控制器总是必须返回部分数据以防万一需要?这看起来效率不高吗?我似乎无法包围我的头如何工作......
您可以使用剃刀语法添加逻辑。例如,您可以使用条件语句来操作最终输出。
@{
if(whatever == true)
{
<p>Whatever is true</p>
}
else
{
<span id="someId">
<label for="enterName">Enter name:</label> <input type="text" id="enterName" />
</span>
}
}
除了这个,你可以使用@helper类似语法
@helper MakeLink(dynamic id)
{
<div id="actionButtons">
@Html.ActionLink("Some Title", "Some Action", new {id = id}) |
@Html.ActionLink("Another Title", "Another Action", "Some Controller", new {id = id})
</div>
}
中谐音的逻辑是你是用来在Web窗体用户控件的稍有不同。上面的逻辑可以放在Partial中,以便稍后重用它,您只需将它放在/ Views/Shared/DisplayTemplates或EditorTemplates中即可。
这和在里面有一个用户控件的aspx页面完全一样。它会每次加载。对于只加载部分,你会有一个控制器方法只返回部分视图。 – 2012-02-17 11:01:17