从ASP.NET中的代码(aspx.cs)中分离内容(aspx)

时间:2010-05-13 19:31:57

标签: c# asp.net separation-of-concerns

我想知道将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。这意味着我必须检查客户端和服务器端的错误。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

如果ASP NET验证器因任何原因不适合你可以检查像this一样的jQuery解决方案

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

答案 2 :(得分:0)

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

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