Asp.Net MVC中,Server Controls与Html类呈现控件,哪种方式更适合长尾需求?
- 内容介绍
- 文章标签
- 相关推荐
本文共计468个文字,预计阅读时间需要2分钟。
使用控件渲染的优势:
1. 代码复用:通过使用控件,可以复用代码,避免重复编写相同的HTML和逻辑代码。
2.维护性:当需要更新或修改控件时,只需在一个地方修改,所有使用该控件的地方都会自动更新。
3.灵活性:控件可以根据需要轻松地调整和定制,以适应不同的需求。
在Web表单样式中的使用:
- 使用HTML标记:
- 使用Razor语法: razor @Html.RenderPartial(MyControl) - 使用Html.TextBox: razor @Html.TextBox(txtName, Model.Name)<% Html.RenderPartial("MyControl") %> or <%=Html.TextBox("txtName", Model.Name) %>
在Web表单样式:
<uc1:MyControl ID=MyControl runat=server />
我理解性能可能是一个原因,因为不需要创建任何对象,但是有可能从代码库中调用它只是为了做一些基本的渲染逻辑可能非常有用.
如果不鼓励这样做,那么你如何处理这种情况:
>您需要有条件地显示控件,并且您不希望使用渲染逻辑填充HTML.
>你有< input type =“text”value =“<%= Model.Name%>” />但是你需要检查Model是否为null,因为否则会引发NullPointerException.
[编辑]当我开始使用ASP MVC时我问过这个问题,现在我看到了像Cristian一样的MVC方式的优点.
在视图中执行空检查可能会导致长期悲痛.我解释MVC编程风格的方式是在控制器中准备视图数据,以便视图可以非常干净并且不会受到检查和条件的影响.另一方面,如果需要遵循可能为空的关联,那么将该代码放在可重用的帮助器中是完全正确的,例如:
<%= Html.BindTextBox("txtName", Model, "Person.Name") %>
本文共计468个文字,预计阅读时间需要2分钟。
使用控件渲染的优势:
1. 代码复用:通过使用控件,可以复用代码,避免重复编写相同的HTML和逻辑代码。
2.维护性:当需要更新或修改控件时,只需在一个地方修改,所有使用该控件的地方都会自动更新。
3.灵活性:控件可以根据需要轻松地调整和定制,以适应不同的需求。
在Web表单样式中的使用:
- 使用HTML标记:
- 使用Razor语法: razor @Html.RenderPartial(MyControl) - 使用Html.TextBox: razor @Html.TextBox(txtName, Model.Name)<% Html.RenderPartial("MyControl") %> or <%=Html.TextBox("txtName", Model.Name) %>
在Web表单样式:
<uc1:MyControl ID=MyControl runat=server />
我理解性能可能是一个原因,因为不需要创建任何对象,但是有可能从代码库中调用它只是为了做一些基本的渲染逻辑可能非常有用.
如果不鼓励这样做,那么你如何处理这种情况:
>您需要有条件地显示控件,并且您不希望使用渲染逻辑填充HTML.
>你有< input type =“text”value =“<%= Model.Name%>” />但是你需要检查Model是否为null,因为否则会引发NullPointerException.
[编辑]当我开始使用ASP MVC时我问过这个问题,现在我看到了像Cristian一样的MVC方式的优点.
在视图中执行空检查可能会导致长期悲痛.我解释MVC编程风格的方式是在控制器中准备视图数据,以便视图可以非常干净并且不会受到检查和条件的影响.另一方面,如果需要遵循可能为空的关联,那么将该代码放在可重用的帮助器中是完全正确的,例如:
<%= Html.BindTextBox("txtName", Model, "Person.Name") %>

