更清晰的方法在.aspx页面中编写内联c#

Jed*_*Jed 0 asp.net inline-code

由于本文中可能不值得一提的原因,我决定停止使用ASP.NET控件,只需对我的.aspx页面使用常规HTML控件.因此,为了动态生成HTML,我使用c #inline到.aspx来做我需要做的事情.

例如:此.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>
Run Code Online (Sandbox Code Playgroud)

功能方面,我更喜欢这种创建HTML的方法(我更喜欢控制HTML如何生成与ASP控件相比).但是,在语法上(和视觉上),我认为它很麻烦(而且很难看).

是否有一种"更好"的方式(另一种语法)动态生成HTML w/out求助于使用ASP.NET控件?

cod*_*nix 7

为什么不将逻辑放入方法并调用此方法?

string GetEntityList()
{
// ...
}

<select name="s">
<option value="-9999">Select an entity...</option>
<%=  GetEntityList() %>
</select>
Run Code Online (Sandbox Code Playgroud)