Asp.Net Mvc Sorusu
-
Selamlar mvc e yeni başladım bu da yazdığım ilk mvc proje biryerde patladım :)
Durum şöyle bir form var bu formun elemanlarının altında çoklu resim upload ettigim bir alan var formu gönderiyorum kaydediyor ve return olayında da bitane redirecttoaction var kaydettikten sonra belirttiğim action a redirect ediyor problem yok yönlendiği actionun viewında da işlemleri yapıyor ancak sonrasında eski actionresult a geri dönüyor (viewda herhangi hiç bir koşul yok) ve kod catch e dusuyor. ve aynı kaydı tekrar yapıyor gonderılen resım olmadıgı ıcınde resım ekleme yerınde patlıyor.
Kayıtların yapıldığı action result
MvcProjesiContext db = new MvcProjesiContext();
DateTime start;
DateTime end;
tourName = Request.Form["tourName"];
start = Convert.ToDateTime(Request.Form["depdate_submit"]);
end = Convert.ToDateTime(Request.Form["depdate2_submit"]);
price = Convert.ToDecimal(Request.Form["price"]);
int destinationId = Convert.ToInt32(Request["cat"]);
categories = Request["CityName"];
tourContent = Request.Unvalidated["tourprg"];
hotelDetails = Request.Unvalidated["htldetails"];
included = Request.Unvalidated["isIncluded"];
noneIncluded = Request.Unvalidated["noneIncluded"];
notes = Request.Unvalidated["notes"];
Turlar tur = new Turlar()
{
TurBaslik = tourName,
price = price,
Tarih = start,
endDate = end,
DestinationId = destinationId,
zoneCode = categories,
tourContent = tourContent,
Hotel = hotelDetails,
Included = included,
Noneincluded = noneIncluded,
Note = notes
};
db.Turlars.Add(tur);
db.SaveChanges();
int lastTour = db.Turlars.Max(item => item.TourId);
MvcProjesiContext db2 = new MvcProjesiContext();
bool def = true;
foreach (HttpPostedFileBase file in files) //viewdan sonra hata verdiği satılr files doğal olarak null dönüyor ve hataya düşüyor
{
string path = System.IO.Path.Combine(Server.MapPath("~/tourPictures"), System.IO.Path.GetFileName(file.FileName));
file.SaveAs(path);
Picture pc = new Picture()
{
tourID = lastTour,
picture = "images/" + file.FileName,
isdefault = def,
};
db2.Pictures.Add(pc);
def = false;
}
db2.SaveChanges();
return RedirectToAction("GetTourList");
Redirect olanunan actionresult
public ActionResult GetTourList()
{
MvcProjesiContext db = new MvcProjesiContext();
//List turlist = db.Turlars.OrderByDescending(i => i.TourId).ToList();
List turlist = db.Turlars.OrderByDescending(i => i.TourId).ToList();
return PartialView(turlist);
}
GetTourList in view ı
@foreach (var item in Model)
{<p>Başlık : @item.TurBaslik</p>
<p>TUR İD : @item.TourId</p>}
-
adım adım çalıştır hocam, aynı yere döndüren yeri bulursun.. gerçi web tarafında postback v.s. var onla ilgili olabilir çok bilgim yok bu konularda..
ama çözüm kaba çözüm istiyorsan
if(files ==null) return;
dersen o döngü içerisinde o zaman hallolması gerekir
-
view de başka bişey yok mu hocam? view i de koysana? resim upload için kullandığın şey ne mesela? view in içinde bi yerde ajaxpost felan vardır belki hazır kodsa, tekrar tekrar boşa post ediyodur
MaviGozluDev tarafından 07/Ağu/14 14:17 tarihinde düzenlenmiştir
edit : return PartialView(turlist); burası nereye gidio hocam ? baştaki actionmethod un adı mı turlist? -
unobtrusive kullanıyorum ajax için hocam anladıgım kadarıyla sorun ondan ama çözümüne daha ulaşamadım, 2 kez submitliyormuş formu
bu arada viewda divler ve img srcler var buraya yapıstıramadım kodu, sayfa yorumlamaya çalıştı ondan koyamadım. ama içinde js vs birsey yok div sadece. Benim formu post ettiğim sayfada unobtrusive var formu kaydettikten sonra gittiği sayfadan forma geri dönüyor :/
LuCiFeR tarafından 07/Ağu/14 15:22 tarihinde düzenlenmiştir -
LuCiFeR bunu yazdı
unobtrusive kullanıyorum ajax için hocam anladıgım kadarıyla sorun ondan ama çözümüne daha ulaşamadım, 2 kez submitliyormuş formu
bu arada viewda divler ve img srcler var buraya yapıstıramadım kodu, sayfa yorumlamaya çalıştı ondan koyamadım. ama içinde js vs birsey yok div sadece. Benim formu post ettiğim sayfada unobtrusive var formu kaydettikten sonra gittiği sayfadan forma geri dönüyor :/
ajaxpost yapıyosa cshmtl de, controller a gider geri geliyodur cshtml de ki yerine.
unobtrusive kullanmadım hiçte, kendo da mesela .DataSource(dataSource => blabla.... diye gider, ona benzer bişeyler ara. ya da gittiği actionemthod un adını cshtml de ara, geçtiği satırlarda gidip geliyodur. görmeden sallıyoruz böylede :) -
MaviGozluDev bunu yazdıLuCiFeR bunu yazdı
unobtrusive kullanıyorum ajax için hocam anladıgım kadarıyla sorun ondan ama çözümüne daha ulaşamadım, 2 kez submitliyormuş formu
bu arada viewda divler ve img srcler var buraya yapıstıramadım kodu, sayfa yorumlamaya çalıştı ondan koyamadım. ama içinde js vs birsey yok div sadece. Benim formu post ettiğim sayfada unobtrusive var formu kaydettikten sonra gittiği sayfadan forma geri dönüyor :/
ajaxpost yapıyosa cshmtl de, controller a gider geri geliyodur cshtml de ki yerine.
unobtrusive kullanmadım hiçte, kendo da mesela .DataSource(dataSource => blabla.... diye gider, ona benzer bişeyler ara. ya da gittiği actionemthod un adını cshtml de ara, geçtiği satırlarda gidip geliyodur. görmeden sallıyoruz böylede :)Aha ekledi :D kayıttan sonra gittiği view aşağıda hocam
@Ajax.ActionLink("Tur Ekle", "AddTour", new AjaxOptions
{
OnBegin = "ajaxStart()",
OnComplete = "ajaxStop",
UpdateTargetId = "icerik", // <-- DOM element ID to update
InsertionMode = InsertionMode.Replace, // <-- Replace the content of DOM element
HttpMethod = "GET" // <-- HTTP method
})
<br />
@foreach (var item in Model)
{
<div class="container" id="turlar">
<div class="row">
<div class="col-lg-3">
<img src="@item.Pictures[0].picture" width="300" height="200" alt="placeholder+image">
</div>
<div class="col-lg-9">
<p>Başlık : @item.TurBaslik</p>
<p>TUR İD : @item.TourId</p>
<div class="btn"><button class="btn pull-right">Edit</button><button class="btn2 pull-right">Sil</button></div>
</div>
</div>
</div>
}
LuCiFeR tarafından 07/Ağu/14 15:46 tarihinde düzenlenmiştir -
MaviGozluDev bunu yazdıLuCiFeR bunu yazdı
unobtrusive kullanıyorum ajax için hocam anladıgım kadarıyla sorun ondan ama çözümüne daha ulaşamadım, 2 kez submitliyormuş formu
bu arada viewda divler ve img srcler var buraya yapıstıramadım kodu, sayfa yorumlamaya çalıştı ondan koyamadım. ama içinde js vs birsey yok div sadece. Benim formu post ettiğim sayfada unobtrusive var formu kaydettikten sonra gittiği sayfadan forma geri dönüyor :/
ajaxpost yapıyosa cshmtl de, controller a gider geri geliyodur cshtml de ki yerine.
unobtrusive kullanmadım hiçte, kendo da mesela .DataSource(dataSource => blabla.... diye gider, ona benzer bişeyler ara. ya da gittiği actionemthod un adını cshtml de ara, geçtiği satırlarda gidip geliyodur. görmeden sallıyoruz böylede :)tamamen konu dışı giriorum konu sahibinden özür dileyerek
webformdayken crackli kullanıyorduk telerik. bu kendonun veya ui for asp.net mvc nin crackli hlai varmı temiz?
-
LuCiFeR bunu yazdıMaviGozluDev bunu yazdıLuCiFeR bunu yazdı
unobtrusive kullanıyorum ajax için hocam anladıgım kadarıyla sorun ondan ama çözümüne daha ulaşamadım, 2 kez submitliyormuş formu
bu arada viewda divler ve img srcler var buraya yapıstıramadım kodu, sayfa yorumlamaya çalıştı ondan koyamadım. ama içinde js vs birsey yok div sadece. Benim formu post ettiğim sayfada unobtrusive var formu kaydettikten sonra gittiği sayfadan forma geri dönüyor :/
ajaxpost yapıyosa cshmtl de, controller a gider geri geliyodur cshtml de ki yerine.
unobtrusive kullanmadım hiçte, kendo da mesela .DataSource(dataSource => blabla.... diye gider, ona benzer bişeyler ara. ya da gittiği actionemthod un adını cshtml de ara, geçtiği satırlarda gidip geliyodur. görmeden sallıyoruz böylede :)Aha ekledi :D kayıttan sonra gittiği view aşağıda hocam
@Ajax.ActionLink("Tur Ekle", "AddTour", new AjaxOptions
{
OnBegin = "ajaxStart()",
OnComplete = "ajaxStop",
UpdateTargetId = "icerik", //
InsertionMode = InsertionMode.Replace, //
HttpMethod = "GET" //
})
@Ajax.ActionLink("Tur Ekle", "AddTour", new AjaxOptions
şurdaki AddTour senin ilk postunda verdiğin actionmethod un adı mı ? içeriğini vermişin ama method adı gözükmüyo o postunda. Eğer oysa, bu satırlar durdukça senin o view den oraya post eder durur :d -
FCN bunu yazdıMaviGozluDev bunu yazdıLuCiFeR bunu yazdı
unobtrusive kullanıyorum ajax için hocam anladıgım kadarıyla sorun ondan ama çözümüne daha ulaşamadım, 2 kez submitliyormuş formu
bu arada viewda divler ve img srcler var buraya yapıstıramadım kodu, sayfa yorumlamaya çalıştı ondan koyamadım. ama içinde js vs birsey yok div sadece. Benim formu post ettiğim sayfada unobtrusive var formu kaydettikten sonra gittiği sayfadan forma geri dönüyor :/
ajaxpost yapıyosa cshmtl de, controller a gider geri geliyodur cshtml de ki yerine.
unobtrusive kullanmadım hiçte, kendo da mesela .DataSource(dataSource => blabla.... diye gider, ona benzer bişeyler ara. ya da gittiği actionemthod un adını cshtml de ara, geçtiği satırlarda gidip geliyodur. görmeden sallıyoruz böylede :)tamamen konu dışı giriorum konu sahibinden özür dileyerek
webformdayken crackli kullanıyorduk telerik. bu kendonun veya ui for asp.net mvc nin crackli hlai varmı temiz?
bende yok başkan malesef :) kurum satın aldı kullanıyoz bizde :p
-
sgk sana yaradı be :D
-
LuCiFeR bunu yazdı
sgk sana yaradı be :D
sgk tarih oldu hocam :d