用于存储枚举值的 int 表示形式的隐藏字段

发布于 2024-08-04 17:12:21 字数 291 浏览 4 评论 0原文

我是一个 ASP.NET 新手,只是修复一些代码中的错误。

我想要一个显示枚举整数表示的隐藏字段。

目前,以下行显示枚举的“文本”/人类可读版本。

<asp:Label ID="lblNoteType" runat="server" Text='<%# Bind("NoteType") %>'></asp:Label>

我需要对“Bind("NoteType")”做什么,以便它显示 int 表示而不是文字?

谢谢

I'm a total asp.net newbie just fixing a bug in some code.

I want a hidden field that displays the integer representation of a enum.

Currently the following line displays the "Text" / human readable version of the enum.

<asp:Label ID="lblNoteType" runat="server" Text='<%# Bind("NoteType") %>'></asp:Label>

What do I need to do to the "Bind("NoteType")" so that it displays the int representation instead of the verbal?

Thanks

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

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

发布评论

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

评论(1

您应该能够这样做:

<%# ((int)(Eval("NoteType"))).ToString() %>

您应该能够将其直接从 Eval 转换为 int,而不需要作为中间体转换为枚举。

我还建议不要使用标签,因为它包含显然不需要的格式化功能。您可以只使用 Literal 来代替,它将维护您需要的回发的所有 ViewState,而不会产生 Label 的格式化开销。

You should be able to just do:

<%# ((int)(Eval("NoteType"))).ToString() %>

You should be able to cast it directly to an int from the Eval with no need to cast to your enumeration as an intermediate.

I would also suggest not using a label as it includes funcitonality for formatting which is obviously not needed. You could just use a Literal instead and it will maintain all the ViewState for the postbacks you require with none of the Label's formatting overhead.

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