1

我想知道将 aspx 页面(ASP.NET 3.5)的内容与代码(我使用的是 C#)分开的最佳做法是什么。我有一个表单,用户可以在其中输入数据 - 例如,他们可以输入百分比。如果他们输入无效的数据,他们会收到一条错误消息:

<p class="errormsg" id="percenthigh">Please enter a percent below 100</p>
<p class="errormsg" id="percentnegative">Percent cannot be below 0</p>
<p class="errormsg" id="percentnot">This is not a percent</p>

所以本质上我隐藏了错误消息并根据用户输入的内容显示错误消息。

我相信这是将内容与背后的代码分开的最佳方式。但是,如何根据用户输入选择元素并隐藏/取消隐藏它们?我知道我可以对元素执行 runat="server" 但问题是我不能按类选择并且仅限于 ID。

您推荐什么解决方法?除了将值放入众所周知难以调试的代码中。

这在 ASP.NET 4 中是否也已“修复”?而且我有兴趣仅通过 C#/ASP.NET 执行此操作,因为有些人禁用了 JavaScript。这意味着我必须检查客户端和服务器端的错误。

4

3 回答 3

2

为此使用 ASP.Net Validation 控件。这将为您处理代码中的布线。您对问题中的每个段落标签使用不同的验证控件。

于 2010-05-13T19:38:55.767 回答
1

你应该看看 asp net validators。在大多数情况下,这些已经足够了。

如果 ASP NET 验证器由于任何原因不适合,您可以检查一个像这样的 jQuery解决方案

无论如何,我建议您避免花时间解决已经以许多不同(好的)方式解决的问题。

于 2010-05-13T19:37:54.537 回答
0

当您想要唯一的元素时,Selectionm 应该是 ID,ID 在所有元素中应该是唯一的。类的使用类似于 HTML 中的类型,通常用于样式设置。

此外,asp.net 项目中的文本应保存在资源文件中。这允许轻松更改语言。

于 2010-05-13T19:36:19.563 回答