1

こんにちは、HAML を使用して特定のタグのエイリアスを作成する方法を見つけようとしています。

例えば。HAML は、この HAML マークアップを取得するのに十分柔軟です。

%asp:TextBox#txtName/

としてレンダリングされる

<asp:TextBox id="txtName" />

一方、asp.net のすべてのサーバー側タグには、

runat="server" 

属性。

最初: HAML にこの必須属性を書き込むにはどうすればよいですか?

Seconde: asp.net タグでライブを整理するために HAML を使用するのはばかげていますか?

runat="server" 属性についてだけでなく、asp.net マークアップを記述するための明確で整理されたパスに似ています。

4

1 に答える 1

0

ヘルパーメソッドを使用します。Ruby では次のようになります。

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>

あなたはマイクロソフトの環境にいるので、これの一部またはほとんどが機能する場合と機能しない場合があります。ruby メソッドは、haml を実行している言語の何かに置き換えることができます。

別のオプションは、パーシャルを使用することです。私は呼び出されたコードをより良くしますが、呼び出しはやや悪くします。私は見た目から醜さを隠すのが好きな傾向があります.

于 2013-10-18T14:27:07.080 に答える