0

この投稿で言及する価値のない理由により、ASP.NET コントロールの使用をやめ、.aspx ページに通常の HTML コントロールを使用することにしました。そのため、HTML を動的に生成するには、.aspx に対して c# インラインを使用して、必要なことを行います。

例: この .aspx スニペットは、<select> 要素を動的に作成する方法を示しています。この <option> 要素は、オブジェクトの汎用リストをループすることによって駆動されます。

<select name="s">
<option value="-9999">Select an entity...</option>
<% foreach (MyEntity e in this.MyEntities)
 {%>
<option <% if (MyEntityInScope.ID == e.ID)
 { %>selected<%} %> value="<%= e.ID %>">
<%= e.Name%></option>
<%} %>
</select>

機能的には、私は HTML を作成するこの方法を好みます (ASP コントロールよりも HTML の生成方法をより制御できるように感じます)。しかし、構文的に (そして視覚的に) 扱いにくい (そして醜い) と思います。

ASP.NET コントロールを使用せずに HTML を動的に生成する「より良い」方法 (別の構文) はありますか?

4

3 に答える 3

7

ロジックをメソッドに入れて、このメソッドを呼び出してみませんか?

string GetEntityList()
{
// ...
}

<select name="s">
<option value="-9999">Select an entity...</option>
<%=  GetEntityList() %>
</select>
于 2011-01-14T17:45:03.987 に答える
2

ASP.NET MVCのHTMLヘルパーと同様に、HTML文字列を返すユーティリティメソッドがこれに役立ちます。

于 2011-01-14T17:44:44.453 に答える
2

一般的なアプローチは、XSLT による XML です。つまり、コードは XML ドキュメントをアセンブルし、適切な XSLT 変換をロードして、結果を送信します。

于 2011-01-14T17:38:37.520 に答える