在 .aspx 页面中编写内联 C# 的更简洁方法

发布于 2024-10-12 05:41:22 字数 689 浏览 4 评论 0 原文

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

例如:这个 .aspx 片段显示了我如何动态创建

<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 的生成方式)。然而,从语法上(和视觉上)来看,我认为它很麻烦(而且丑陋)。

是否有一种“更好”的方法(另一种语法)来动态生成 HTML,而不需要使用 ASP.NET 控件?

For reasons that are probably not worth mentioning in this post, I have decided to stop using ASP.NET controls and simply use regular HTML controls for my .aspx pages. As such, to dynamically generate HTML, I use c# inline to the .aspx to do what I need to do.

For example: this .aspx snippet shows how I am dynamically creating a <select> element where the <option> elements are driven by looping through a generic list of objects.

<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>

Functionality-wise, I prefer this method of creating HTML (I feel more in control of how the HTML is generated vs ASP controls). However, syntactically (and visually), I think it's cumbersome (and ugly).

Is there a "better" way (another syntax) to dynamically generate HTML w/out resorting to using ASP.NET controls?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

泪眸﹌ 2024-10-19 05:41:22

为什么不把逻辑放入一个方法中并调用这个方法呢?

string GetEntityList()
{
// ...
}

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

Why don't you put your logic into a method and call this method?

string GetEntityList()
{
// ...
}

<select name="s">
<option value="-9999">Select an entity...</option>
<%=  GetEntityList() %>
</select>
GRAY°灰色天空 2024-10-19 05:41:22

一种常见的方法是通过 XSLT 实现 XML。也就是说,您的代码组装 XML 文档、加载合适的 XSLT 转换并发送结果。

A common approach is XML through XSLT. That is, your code assembles an XML document, loads a suitable XSLT transform and sends the result.

分分钟 2024-10-19 05:41:22

返回 HTML 字符串的实用程序方法可以帮助解决此问题,类似于 ASP.NET MVC 中的 HTML 帮助程序。

A utility method that returns an HTML string can help with that, similar to the HTML helpers in ASP.NET MVC.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文