在asp.net Web表单中,我们将用户控件作为页面的可重用组件。这些用户控件可以通过公共属性从外部传递值,例如在Web表单上,我们可以通过将key设置为此用户控件的公共属性来删除此用户控件以显示来自db(如内容管理系统)的文本,它将提取该值。 (此键,值可以作为列表或字典存储在应用程序缓存中,以避免数据库往返)。
我想在asp.net mvc中实现相同的想法,但对它来说是新的。任何专家建议实施相同的想法将是非常有帮助的?感谢
答案 0 :(得分:2)
用户控件的概念是PartialView;有两种方法可以使用局部视图。第一种是在视图中定义一个部分:
@Html.Partial("NameOfViewInControllerFolder", ModelForPartialview)
第二种方法是使用一个返回局部视图的动作方法:
public ActionResult X()
{
return PartialView("NameOfView");
}
从你的观点来看:
@Html.Action("X", "ControllerName")
然后调用action方法,并插入结果。要确保仅在视图中调用操作,可以使用[ChildActionOnly]属性。
如果是动作方法,您可以使用JQuery通过AJAX请求它,并将结果加载到视图中:
$.ajax({
type: "GET|POST",
url: "@Url.Action("X", "ControllerName")",
success: function(d) { /* d is HTML */ });