Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何指定需要搜索输入字段_Asp.net Mvc_Razor - Fatal编程技术网

Asp.net mvc 如何指定需要搜索输入字段

Asp.net mvc 如何指定需要搜索输入字段,asp.net-mvc,razor,Asp.net Mvc,Razor,我正在使用asp.net mvc web应用程序,我有一个文本输入字段来输入搜索条件,但我的问题是如何定义用户单击搜索按钮时需要此字段。我正在考虑手动添加以下数据段属性,以模拟[Required]模型数据注释的工作方式 <input name="selectedUserNames" type="text" data-val="true" data-val-required= "Please enter a value." data-autocomplete-source= "@Url.

我正在使用asp.net mvc web应用程序,我有一个文本输入字段来输入搜索条件,但我的问题是如何定义用户单击搜索按钮时需要此字段。我正在考虑手动添加以下数据段属性,以模拟[Required]模型数据注释的工作方式

<input  name="selectedUserNames" type="text" data-val="true" data-val-required= "Please enter a value."  data-autocomplete-source= "@Url.Action("AutoComplete", "SecurityGroup")" />
 <span class="field-validation-valid" data-valmsg-for="selectedUserNames" data-valmsg-replace="true"></span>
<input type="submit" value="Seach" />

您所做的不是一个干净的解决方案,它只在客户端起作用。您应该创建如下所示的SearchViewModel并将其传递给视图:

public class SearchViewModel
{
    [Required]
    public string Search { get; set; }
}
@Html.TextBoxFor(model => model.Search)
@Html.ValidationMessageFor(model => model.Search)
在你看来:

public class SearchViewModel
{
    [Required]
    public string Search { get; set; }
}
@Html.TextBoxFor(model => model.Search)
@Html.ValidationMessageFor(model => model.Search)

如前一个答案所述,仅启用客户端验证并不是一个完整的解决方案。如果客户端在其浏览器上禁用了javascript怎么办?那你就要开枪了

最好的选择是使用DataAnnotation[Required]属性。在您的视图中,启用客户端验证


如果客户端在浏览器上禁用javascript,服务器端验证将启动。

这将完成任务!您还可以创建一个JS函数来验证内容,并提醒用户!如果我有一个脚本,那么它将在属于特定类的所有字段上工作,而不是手动修改每个必需字段?但由于我将使用模型对象向视图传递额外信息,因此我必须创建一个VieModel对象,其中包含所有模型类的SearchModel和model类,这需要一些时间来发展。而在客户机上添加验证将更容易。如果用户浏览器禁用javascript,那么在最坏的情况下,搜索将不会返回任何记录。