string.contains(string) 匹配整个单词
string.contains(string) match whole word
在我看来,
@using(Html.BeginForm("Action", "Controller", FormMethod.Post)){
<div>
@Html.TextBox("text_1", " ")
@Html.TextBox("text_2", " ")
@if(Session["UserRole"].ToString() == "Manager"){
@Html.TextBox("anotherText_3", " ")
}
</div>
<button type="submit">Submit</button>
}
在我的控制器中,
public ActionResult Action(FormCollection form){
if(!form.AllKeys.Contains("anotherText")){
ModelState.AddModelError("Error", "AnotherText is missing!");
}
}
我有一个表单和 post 我的方法,在我的方法中我想检查一个文本框是否包含 "anotherText",但我使用 .Contains() 它总是给出 false在我的表单集合中找不到...我该怎么做才能检查包含 "anotherText" 的文本框是否存在?
搜索失败是有道理的,因为它不是完全匹配。
尝试使用 StartsWith
来查看是否有任何键以您要查找的值开头。
if (!form.AllKeys.Any(x => x.StartsWith("anotherText")))
{
// add error
}
与 string.Contains
不同,如果 string
包含给定的 子字符串 ,则 return true
,您在这里所做的是检查是否在 AllKeys
(这是一个 Collection)有任何 Key
(单键 - sub-item Collection) 属于 string
"anotherText"
.
if(!form.AllKeys.Contains("anotherText"))
因此,sub-item 在集合 中是整个 string
本身,而不是 string
的 substring
因此,您的 AllKeys
必须确实包含与之匹配的确切 string
:
"anotherText_2", //doesn't match
"anotherText_1", //doesn't match
"anotherText_3", //doesn't match
"anotherText" //matches
与Contains
比较string
string str = "anotherText_3";
str.Contains("anotherText"); //true, this contains "anotherText"
因此,您应该检查 Keys
的 Any
是否有 "anotherText"
:
if (!form.AllKeys.Any(x => x.Contains("anotherText")))
{
// add error
}
在我看来,
@using(Html.BeginForm("Action", "Controller", FormMethod.Post)){
<div>
@Html.TextBox("text_1", " ")
@Html.TextBox("text_2", " ")
@if(Session["UserRole"].ToString() == "Manager"){
@Html.TextBox("anotherText_3", " ")
}
</div>
<button type="submit">Submit</button>
}
在我的控制器中,
public ActionResult Action(FormCollection form){
if(!form.AllKeys.Contains("anotherText")){
ModelState.AddModelError("Error", "AnotherText is missing!");
}
}
我有一个表单和 post 我的方法,在我的方法中我想检查一个文本框是否包含 "anotherText",但我使用 .Contains() 它总是给出 false在我的表单集合中找不到...我该怎么做才能检查包含 "anotherText" 的文本框是否存在?
搜索失败是有道理的,因为它不是完全匹配。
尝试使用 StartsWith
来查看是否有任何键以您要查找的值开头。
if (!form.AllKeys.Any(x => x.StartsWith("anotherText")))
{
// add error
}
与 string.Contains
不同,如果 string
包含给定的 子字符串 ,则 return true
,您在这里所做的是检查是否在 AllKeys
(这是一个 Collection)有任何 Key
(单键 - sub-item Collection) 属于 string
"anotherText"
.
if(!form.AllKeys.Contains("anotherText"))
因此,sub-item 在集合 中是整个 string
本身,而不是 string
substring
因此,您的 AllKeys
必须确实包含与之匹配的确切 string
:
"anotherText_2", //doesn't match
"anotherText_1", //doesn't match
"anotherText_3", //doesn't match
"anotherText" //matches
与Contains
比较string
string str = "anotherText_3";
str.Contains("anotherText"); //true, this contains "anotherText"
因此,您应该检查 Keys
的 Any
是否有 "anotherText"
:
if (!form.AllKeys.Any(x => x.Contains("anotherText")))
{
// add error
}