【发布时间】:2018-12-21 18:07:36
【问题描述】:
我有一个包含日期和名称的表格,当用户插入以限制这两个日期之间的结果时,我有 2 个日期 Datum1 和 Datum2,但它不起作用。这 2 个日期在单独的模型中,我创建了单独的控制器。我不需要将这些日期保存在我的数据库中只是为了限制输出这是我的控制器:
[HttpGet]
// GET: PregledPoDatumu
public ActionResult Index()
{
DataTable dtblRezultat = new DataTable();
PregledPoDatumu pregledPoDatumu = new PregledPoDatumu();
using (SqlConnection sqlCon = new SqlConnection(
ConfigurationManager.ConnectionStrings["TestCS"].ConnectionString))
{
sqlCon.Open();
SqlDataAdapter sqlDa = new SqlDataAdapter("SELECT * FROM Kontrola ORDER BY Datum", sqlCon);
sqlDa.Fill(dtblRezultat);
}
return View(dtblRezultat);
}
[HttpGet]
// GET: PregledPoDatumu/Create
public ActionResult Create()
{
return View(new PregledPoDatumu());
}
// POST: PregledPoDatumu/Create
[HttpPost]
public ActionResult Create(PregledPoDatumu pregledPoDatumu)
{
DataTable dtblRezultat = new DataTable();
using (SqlConnection sqlCon = new SqlConnection(
ConfigurationManager.ConnectionStrings["TestCS"].ConnectionString))
{
sqlCon.Open();
if (pregledPoDatumu.Datum1 > pregledPoDatumu.Datum2)
{
ModelState.AddModelError("Datum1", "start date must be before end date");
return View();
}
if(pregledPoDatumu.Datum1 > DateTime.Now)
{
ModelState.AddModelError("Datum1", "Unesite datum prije današnjeg");
return View();
}
if(pregledPoDatumu.Datum2 > DateTime.Now)
{
ModelState.AddModelError("Datum2", "Unesite datum do današnjeg");
return View();
}
if(pregledPoDatumu.Datum1 == DateTime.MinValue){
ModelState.AddModelError("Datum1", "Unesite datum ");
return View();
}
if (pregledPoDatumu.Datum2 == DateTime.MinValue)
{
ModelState.AddModelError("Datum2", "Unesite datum ");
return View();
}
string query = "SELECT * FROM Kontrola where Datum > @Datum1 and Datum < @Datum2";
SqlDataAdapter sqlDa = new SqlDataAdapter(query, sqlCon);
sqlDa.SelectCommand.Parameters.AddWithValue("@Datum1", pregledPoDatumu.Datum1);
sqlDa.SelectCommand.Parameters.AddWithValue("@Datum2", pregledPoDatumu.Datum2);
sqlDa.Fill(dtblRezultat);
}
return RedirectToAction("Index");
}
我应该改变什么,所以当用户输入 1/1/2014 和 1/1/2017 以仅显示这两个日期之间的结果时?在这种情况下,我已经完成了我的表格没有刷新并且仍然在表格中显示所有结果?
型号:
namespace WebApplication6.Models
{
public class PregledPoDatumu
{
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
[DataType(DataType.Date)]
public DateTime Datum1 { get; set; }
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
[DataType(DataType.Date)]
public DateTime Datum2 { get; set; }
}
}
【问题讨论】:
-
您好,欢迎来到 SO。您发布的代码与您提出的问题无关。
-
你能告诉我们你的
PregledPoDatumu模特吗? -
您好,我已添加模型。你还需要什么吗?
标签: c# asp.net visual-studio model-view-controller