C# mvc4局部视图分页
我已经创建了一个人员登记表。在此表单中,我添加了一个显示人员列表的C# mvc4局部视图分页,c#,jquery,asp.net-mvc-4,razor,C#,Jquery,Asp.net Mvc 4,Razor,我已经创建了一个人员登记表。在此表单中,我添加了一个显示人员列表的局部视图。我在这张表格上加了一页。现在我想实现搜索功能 我的表格如下 这里我想实现搜索功能。但问题是我在表单上有两个按钮,即创建和搜索。当我点击搜索按钮时,它会给我表单register.cshtml的必填字段验证 这是我的register.cshtml的代码 @model WebLess.Models.PersonModel @using (Html.BeginForm()) { @Html.AntiForgeryToken(
局部视图。我在这张表格上加了一页。现在我想实现搜索功能
我的表格如下
这里我想实现搜索功能。但问题是我在表单上有两个按钮,即创建
和搜索。当我点击搜索按钮时,它会给我表单register.cshtml的必填字段验证
这是我的register.cshtml的代码
@model WebLess.Models.PersonModel
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.firstName, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.firstName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.firstName, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.lastName, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.lastName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.lastName, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.email, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.email, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.email, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
<div class="form-group">
@if (ViewBag.Message != null)
{
<span class="text-success">@ViewBag.Message</span>
}
</div>
<div class="form-group">
@Html.Partial("list", Model.listOfPerson)
</div>
</div>
}
如何实现搜索功能?您可以将列表部分视图移到创建表单之外,然后将搜索功能放在列表部分视图内自己的表单中(它们完全分开,因此应该分开)。然后,这应该可以实现您想要的功能。您可以将列表部分视图移动到创建表单之外,然后将搜索功能放入列表部分视图中自己的表单中(无论如何,它们是完全分开的,因此应该分开)。这样就可以实现您想要的功能。嵌套并可能导致浏览器之间出现未定义的行为
使用两个单独的表单而不是嵌套表单
正如steve所说,“将列表部分视图移到创建表单之外”将导致两个单独的表单,而不是一个表单在另一个表单中
像
而不是(不允许表单中的表单)
和的嵌套可能会导致浏览器之间出现未定义的行为
使用两个单独的表单而不是嵌套表单
正如steve所说,“将列表部分视图移到创建表单之外”将导致两个单独的表单,而不是一个表单在另一个表单中
像
而不是(不允许表单中的表单)
尝试将部分视图@Html.partial(“list”,Model.listoperson)
与第一个表单分开,并在表单结束后添加。尝试将部分视图@Html.partial(“list”,Model.listoperson)
与第一个表单分开,并在表单结束后添加。
@model PagedList.IPagedList<WebLess.Models.PersonModel>
@using PagedList.Mvc;
<link href="~/Content/PagedList.css" rel="stylesheet" type="text/css" />
@using (Html.BeginForm("Register", "Person", FormMethod.Get))
{
<p>
Find by name: @Html.TextBox("SearchString", ViewBag.CurrentFilter as string)
<input type="submit" value="Search" />
</p>
}
<table class="table">
<tr>
<th>
First name
</th>
<th>
Last name
</th>
<th>
E-mail Address
</th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.firstName)
</td>
<td>
@Html.DisplayFor(modelItem => item.lastName)
</td>
<td>
@Html.DisplayFor(modelItem => item.email)
</td>
</tr>
}
</table>
<br />
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount
@Html.PagedListPager(Model, page => Url.Action("Register",
new { page, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter }))
@using (Html.BeginForm())
{
}
@using (Html.BeginForm("Register", "Person", FormMethod.Get))
{
}
@using (Html.BeginForm())
{
@using (Html.BeginForm("Register", "Person", FormMethod.Get))
{
}
}