ASP标签?为什么不只是=变量?

时间:2011-09-14 00:55:05

标签: c# asp.net

在经典ASP中,我喜欢这样一个事实:我可以用简单的方法写出变量,公式等等:

<span class='<%=myClass%>'><%=myariable%></span>

我可以格式化它,或做任何我想要的事情。很容易。我甚至可以在它们上运行函数,等等。我知道,在.Net中,我仍然可以完成所有的功能等等(并且它被视为对象的事实很好),但我似乎做了很多这个,这很烦人!!!

<asp:Label ID='pnlMyVariable' runat='server'></asp:Panel>
%% CODE BEHIND %%
pnlMyVariable.Text = "Yeah, write this short sentence...";
pnlMyVarialbe.CssClass = "blah";

并且不要让我开始使用烦人但又有用的FindControl方法!

这真的是这样吗?如果你说“是的,那就是它的方式”,那么我会接受它。但肯定有些人在那里(如果有任何人已经足够欣赏经典ASP)谁已经看到这有点烦人。我正确接近这个吗?

2 个答案:

答案 0 :(得分:1)

您正确使用asp:Label控件,是的。但是,并不要求您使用此控件。你有很多其他选择,但最有可能吸引你的两个选择是:

  1. 使用asp:Literal控件。这将像Label一样工作,但不会将值包装在任何其他标记中。这使您可以像过去那样控制标记和样式。

  2. 使用经典语法。如果您的页面类具有publicprotected属性,则可以使用相同的经典ASP语法在标记中引用该属性。作为.NET中的惯例,出于多种原因,最好使用属性而不是直接访问成员变量。但这可能最终只是对你的偏好。

答案 1 :(得分:0)

在webforms中,您可以使用此方法来维护与winforms类似的模型。这些控件还使用viewstate,使它们在回发之间保持其值。 MVC在html方面更接近于经典的asp,但在后端仍然非常面向对象。我强烈推荐它!