我一直在使用ASP.Net一段时间,但我对输出内容的基本方式有疑问,如错误信息。
我看到两个主要的选择:
使用用户控件并在代码隐藏中设置内容。
<asp:Literal id="litError" runat="server" />
Codebehind:
litError.Text = "You're doing it wrong!";
在代码隐藏中设置成员变量并输出它。
protected string errorMessage;
...
if(error)
errorMessage = "You're doing it wrong!";
ASPX:
<%: errorMessage %>
哪种方式是最佳做法?这只是个人偏好,使用哪种方法? 我知道在某些情况下可能无法使用其中一种或另一种方法,但我说的是两种方法都可行的情况。
有哪些优点和缺点?是否有第三种方式应该首选?
我总是使用usercontrol方法,但是在ASP.Net 4.0中引入了新的nugget语法,我开始认为我可能走错了路。
答案 0 :(得分:2)
我认为没有正确的方法可以做到这一点,它们都是完全有效的选择。它们最终都是页面类的属性。文字控件是一个服务器控件,因此有一些属性和方法可能对您作为页面开发人员有用,但这可以根据具体情况而定。
答案 1 :(得分:1)
我认为这只取决于偏好。就个人而言,我不喜欢将内联代码与代码混合在一起,所以我总是(在可能的情况下)更喜欢使用后面的代码进行编程输出。从业务角度来看,我认为内联和代码的混合破坏了一致性,使代码更难以为下一个人学习。我会一直投票支持一致性。
那只是我的两分钱。希望它有所帮助。
答案 2 :(得分:0)
我认为这在很大程度上归结为偏好。除了语法之外,两种常用方法之间没有真正的区别。
答案 3 :(得分:0)
两者之间存在细微的差别,因为一个在后面的代码中运行并填充服务器控件,另一个是对后面的代码方法的引用。根据您的编码技术,代码运行时可能会有差异。 但是,就最佳做法而言?像其他人的回答一样,它归结为偏好。