【问题标题】:Displaying error messages using C# with Razor使用带有 Razor 的 C# 显示错误消息
【发布时间】:2012-03-15 16:33:22
【问题描述】:

我是 C# 新手,正在尝试向我的网站添加一些简单的服务器端验证。我试过用谷歌搜索这个,但信息是实地的小东西。

因此,例如,如果我在这样的表单中进行值:

<table>
    <tr>
        <td>FredF</td>
        <td>Fred Flintstone</td>
        <td><input type="checkbox" name="userId" value="@user.UserId" /></td>
    </tr>
    <tr>
        <td>BarneyR</td>
        <td>Barney Rubble</td>
        <td><input type="checkbox" name="userId" value="@user.UserId" /></td>
    </tr>
    <tr>
        <td>WilmaF</td>
        <td>Wilma Flintstone</td>
        <td><input type="checkbox" name="userId" value="@user.UserId" /></td>
    </tr>
</table>​

我想验证用户是否勾选了一个复选框,如果他们没有勾选,我希望显示一条消息,说明他们必须勾选该复选框。

这样做的最佳做法是什么?

【问题讨论】:

    标签: c# html validation authentication razor


    【解决方案1】:

    假设您使用的是 MVC,服务器端的最佳实践是在表单中使用 ViewModel,该表单具有指定是否需要该属性的属性。

    所以应该是这样的

    class User
    {
        [Required]         
        public bool IsChecked{get;set;}
    }
    

    然后在 Controller Post Action 中检查 Model.IsValid,如果没有则重新显示表单。

    【讨论】:

      【解决方案2】:

      这取决于许多因素,例如您是否使用模型、是否使用 jquery 以及是否启用了客户端验证。

      阅读这篇文章:

      http://www.codeproject.com/Articles/344292/ASP-NET-MVC3-Razor-With-JQuery-For-Beginners

      http://www.asp.net/mvc/tutorials/overview/creating-a-mvc-3-application-with-razor-and-unobtrusive-javascript

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-01
        • 1970-01-01
        • 2011-10-31
        • 1970-01-01
        • 2016-09-17
        • 2017-11-21
        • 1970-01-01
        相关资源
        最近更新 更多