Witajcie;
Tworze cos na wzor odpowiednika GridView w web formsach. Niestety mam problem z walidacja. W zasadzie to nie dziala w ogole. Nie krozystam z Entity Framework, tylko z ado.net + "Business model object". Wg "microsoft developer network" powinno to spokojnie, natomiast nie wiem, gdzie popelniam blad. Moj wstepny kod wyglada nastepujaco:
Business object Model class:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
namespace ObslugaStonyLibrary
{
[MetadataType(typeof(zmienneWczytywanieTresci))]
public partial class zmienneWczytywanieTresciMeta
{
public class zmienneWczytywanieTresci
{
public int ID { get; set; }
public int druzynaID { get; set; }
public string Druzyna { get; set; }
[Required]
public int LiczbaMeczy { get; set; }
public string LiczbaGoliStrzelonych { get; set; }
public string LiczbaGoliStraconych { get; set; }
}
}
}
Application model class:
namespace Start.Models
{
public class InformacjeModel
{
public IPagedList<zmienneWczytywanieTresciMeta.zmienneWczytywanieTresci> tabela { get; set; }
}
}
Controller:
[HttpPost]
public ActionResult Index(FormCollection form, int? page)
{
zmienneWczytywanieTresciMeta.zmienneWczytywanieTresci zmienne = new zmienneWczytywanieTresciMeta.zmienneWczytywanieTresci();
zmienne.LiczbaMeczy = Convert.ToInt32(form["LiczbaMeczy"]);
int ID = Convert.ToInt32(form["news.ID"]);
var model = new InformacjeModel();
string queryWczytaj = "Select * From LigaMistrzowGrupy Where Grupa = @Grupa";
string queryUpdate = "Update LigaMistrzowGrupy Set LiczbaMeczy = @LiczbaMeczy Where ID = @ID";
funkcjeWczytywanieTresci wczytywanie = new funkcjeWczytywanieTresci();
wczytywanie.edytujTabele(queryUpdate, zmienne, ID);
model.tabela = funkcjeWczytywanieTresci.wczytajTabele(queryWczytaj, "A").ToList().ToPagedList(page ?? 1, 4);
return View(model);
}
Oraz View:
@foreach (var news in Model.tabela)
{
using (Html.BeginForm())
{
<div class="ramkaTRgridView">
@Html.HiddenFor(model => news.ID, "ID");
<button type="submit" class="floatDivGridView">Submit</button>
<div class="ramkaTDgridViewID floatDivGridView">
<span>@Html.Label(news.druzynaID.ToString())</span>
</div>
<div class="ramkaTDgridViewDruzyna floatDivGridView">
<span>@Html.Label(news.Druzyna.ToString())</span>
</div>
<div class="ramkaTDgridViewStatystyki floatDivGridView">
@Html.EditorFor(model => news.LiczbaMeczy, "LiczbaMeczy", "LiczbaMeczy");
@Html.ValidationMessageFor(model => news.LiczbaMeczy)
</div>
</div>
}
}
Wszystko dziala prawidlowo, z wyjatkiem walidacji. Czy bylby ktos w stanie wskazac mi w ktorym miejscu robie blad ?. Serdeczne dzieki !