同时,asp.net中的所有服务器端标记都需要runat="server" 属性。第一:如何使HAML将所需的属性写入我?第二:是愚蠢地使用HAML来组织我的asp.net标签">
嗨,我正在试图找到一种方法,为某些标签创建别名使用HAML。
例如:HAML具有足够的灵活性,可以获得这个HAML标记:
%asp:TextBox#txtName/
被呈现为
<asp:TextBox id="txtName" />
同时,asp.net中的所有服务器端标记都需要
runat="server"
属性。
第一:如何使HAML将所需的属性写入我?
第二:是愚蠢地使用HAML来组织我的asp.net标签活动吗?
它不仅仅是关于runat=“服务器”属性,它更像是编写asp.net标记的清晰和有组织的路径。
发布于 2013-10-18 06:27:07
我会用帮手的方法。在红宝石里应该是这样的:
def asp_tag attrs_hash={}
result = '<asp:TextBox '
result << 'runat="server" '
attrs_hash.each {|k,v| result << "#{k}=\"#{v}\"" }
result << '>'
result << yield # not necessary if you never have a body in your tag
result << '</asp:TextBox>'
result.html_safe # in rails anyways.....
end
在您的视图中使用它,如:
= asp_tag{id: 'txtName'}
.moreStuff
teh awesome
应呈现
<asp:TextBox id="txtName" runat="server">
<div class="moreStuff>
teh awesome
</div>
</asp:TextBox>
因为你处在一个微软的环境中,所以其中的一些或大部分可能不起作用。红宝石方法可能会被某种语言所取代,不管你用什么语言来运行haml。
另一种选择是使用部分。我使被调用的代码更好,但调用更糟。我倾向于把丑陋隐藏在视线之外。
https://stackoverflow.com/questions/18070491
复制相似问题