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))
       {
       }
    }