在我看來,我有兩種形式。一種形式搜索記錄。一個用於支持分頁的轉到頁面{頁數}的表單。幾乎所有人都在similar question中建議,我必須爲每個表單創建兩個單獨的操作。這將使我的工作變得非常簡單,但使用這些方法時遇到問題。在ASP.Net中有單一模型的兩種形式MVC
假設我有以下型號:
public class MyModel
{
public string Name { get; set; }
public string DateOfEmployment { get; set; }
public int? PageNumber { get; set; }
}
而以下幾種觀點:
@model WebApplication1.Models.MyModel
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { }))
{
@Html.LabelFor(m => m.DateOfEmployment)
@Html.EditorFor(m => m.DateOfEmployment)
@Html.LabelFor(m => m.Name)
@Html.TextBoxFor(m => m.Name)
<input type='Submit' value='Search' />
}
<!-- Rows goes here-->
@using (Html.BeginForm("Pagination", "Home", FormMethod.Post, new { }))
{
@Html.LabelFor(m => m.PageNumber)
@Html.TextBoxFor(m => m.PageNumber)
<input type='Submit' value='Go' />
}
問題是,當用戶點擊Go
按鈕,我怎麼能知道什麼是搜索字段值重新模型行?。如果我使用單個表單,我不知道點擊了哪個按鈕(以乾淨的方式)。那麼在這種情況下我該怎麼做?
你可以;在Session中保存搜索字段或將它們作爲隱藏字段傳遞。 –
@ErikPhilips你也同意有兩種形式有這些問題嗎? –
爲什麼你需要兩種形式?爲什麼不有一個動作將你的整個模型與這種形式的所有字段相結合? – Jakotheshadows