Zdravím uz se par dni peru s nasledujicim problemem.
Mam model nasledujici model
public class ZboziModel
{
public int Id { get; set; }
public string Nazev { get; set; }
public string Popis { get; set; }
public string Zkratka { get; set; }
public bool Presentovat { get; set; }
public List<ObrazekModel> Obrazky { get; set; }
public ZboziModel()
{
Obrazky = new List<ObrazekModel>();
}
}
public class ObrazekModel
{
[DisplayName("Číslo obrazku")]
public int CisloObrazku { get; set; }
[DisplayName("Popis fotografie")]
public string PopisFota { get; set; }
[DisplayName("Chceme tuto fotku presentovat")]
public bool Prezentovat { get; set; }
public byte[] ImageData { get; set; }
public ObrazekModel() { }
public ObrazekModel(int cisloObrazku):this()
{
CisloObrazku = cisloObrazku+1;
Prezentovat = true;
PopisFota = "Popis " + CisloObrazku.ToString();
}
}
Controller
[HttpGet]
public ActionResult Create()
{
ViewData["Message"] = ConstantText.TitulekH1;
ZboziModel zm = new ZboziModel();
return View(zm);
}
[HttpGet]
public ActionResult NovyObrazek(ZboziModel zm)
{
zm.Obrazky.Add(new ObrazekModel(zm.Obrazky.Count));
return PartialView("ObrazekKontrolka", zm);
}
[HttpPost]
public ActionResult NovyObrazek(ZboziModel zm,FormCollection fc)
{
//zm.Obrazky.Add(om);
return PartialView("ObrazekKontrolka", zm);
}
Aspx
<script type="text/javascript">
$(document).ready(function () {
$("#AddObrazekControl").click(function () {
$.ajax({
url: "/Zbozi/NovyObrazek",
type: "GET",
data: "",
contenttype: "application/html",
success: OnSuccess,
error: OnError
});
});
});
function OnSuccess(data) {
//alert("success");
$("#Obrazky").append(data);
}
function OnError(data) {
$("#Obrazky").html(data.responseText);
}
</script>
<td width="50%">
<fieldset>
<legend>Obrázky</legend>
<div id="Obrazky"></div>
<input type="button" id="AddObrazekControl" value="Přidej obrazek" />
</fieldset>
</td>
Pokud kliknu Button AddObrazekControl zavola Controller [Get]NovyObrazek do listu Obrasku se prida nova instance ObrazkyModel a do aspx stranky se mi vyrendruje "ObrazekKontrolka" coby partial view. Potud OK
Pokud ale kliknu znova na button "AddObrazekControl " tak to prileti do [Get]NovyObrazek ale v celem listu je 0 obrazku takze opet vytvarim nultou instanci.
Asi tusite co bych potreboval. Proste pridavat instnace ObrazekModel do toho List<ObrazekModel> a teprve na klik jineho tlacitka vse zpracovat a zahnat to do databaze.
Snad je to srozumitelne, dik za kazdou radu