如何使 Html 文本框仅在 Razor MVC 中采用整数?

Posted

技术标签:

【中文标题】如何使 Html 文本框仅在 Razor MVC 中采用整数?【英文标题】:How do I make a Html textbox to only take integer in Razor MVC? 【发布时间】:2015-12-29 15:04:45 【问题描述】:

我的情况还没有找到好的答案。我希望这个文本框只接受数字并且仍然有 ID“SearchString2”,所以我可以在我的控制器中使用它。知道怎么做吗?

if (Roles.IsUserInRole(WebSecurity.CurrentUserName, "Admin"))

    @:<p><b>Customer ID:</b> @html.TextBox("SearchString2")</p>

提前致谢。

【问题讨论】:

已解决:***.com/questions/32902416/… 【参考方案1】:

你可以这样做:

@Html.TextBox('SearchString2', new  @type = "number" ) 

这应该将类型设置为数字,然后您可以使用模型上的属性来帮助将其限制为仅像这样的整数:

[RegularExpression(@"^[A-Z]+[a-zA-Z''-'\s]*$")]
[Required]
public string SearchString2  get; set; 

您需要将正则表达式替换为实际的正则表达式并放入验证消息。

这里有更多关于验证的信息:http://www.asp.net/mvc/overview/getting-started/introduction/adding-validation

【讨论】:

谢谢,正是我要找的东西 :) 实际上现在我尝试了......第一个根本不起作用。而且我只在管理员登录时使用 searchstring2 ,这会使将其放入模型中是个坏主意。 我得到的是一个自动填写“type =”number“的文本框【参考方案2】:

其实我觉得对上面的答案需要更正的是

@Html.TextBox('SearchString2',null, new @type="number")

否则 type=number 会显示在值中。

【讨论】:

以上是关于如何使 Html 文本框仅在 Razor MVC 中采用整数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 mvc4 razor 中显示验证消息

显示换行符 asp.net mvc razor

Asp.net MVC3.0用Razor视图如何实现URL伪静态?真诚求教。

Razor 如何创建一个 CheckBox 并使其成为 READONLY?

如何强制 Razor 使 Editorfor 为浮点变量输入数字类型?

如何限制输入文本框仅以 Angular2 形式输入数字?