PDA

View Full Version : اجرا نشدن Ajax با تغییر آیتم های dropdownlist



Wily_Fox
پنج شنبه 17 مرداد 1392, 09:54 صبح
با سلام و خسته نباشید

من میخوام با تغییر آیتم ها dropdownlist آیتم های dropdownlist بعدی تغییر کنه.

واسه همین کد زیر رو نوشتم اما متاسفانه عمل نمی کنه.

using (Ajax.BeginForm("SelectSubGroup", new AjaxOptions
{
UpdateTargetId = "CustomSubGroup",
HttpMethod = "Post",
InsertionMode = InsertionMode.Replace
}))
{
@Html.DropDownListFor(m => m.BaseModel.SelectedGroup, Model.Group, new { @OnChange = "$(this.form).submit();" })
}


به این مدل هم می نویسم باز کار نمی کنه:

@using (Ajax.BeginForm("SelectSubGroup", new AjaxOptions
{
UpdateTargetId = "CustomSubGroup",
InsertionMode = InsertionMode.Replace,
HttpMethod = "post"
}))
{
@Html.DropDownListFor(m => m.BaseModel.SelectedGroup, Model.Group)
}

<script type="text/javascript">
$(document).ready(function () {
$('#BaseModel_SelectedGroup').change(function () {
$(this).parents('form').submit();
});
});
</script>


خدایی دیونه شدم. قبلا همین تکه کد جواب میداد. با تغییر کوچیک تو پروژه الان کار نمی کنه!!!!!!!!!!!!

Saeed_m_Farid
پنج شنبه 17 مرداد 1392, 10:31 صبح
من میخوام با تغییر آیتم ها dropdownlist آیتم های dropdownlist بعدی تغییر کنه.
...
قبلا همین تکه کد جواب میداد. با تغییر کوچیک تو پروژه الان کار نمی کنه
قبلا چکار میکرد این تکه کد؟ BaseModel_SelectedGroup کجاست؟ حتی اگه dropdownlist با همچین id هم داشته باشید، تو change اش که شما کاری نمی کنید؟ احتمالاً قبلاً یه سری کدهایی تو کنترلر و view داشتید که زدین کلاً کن فیکون کردینشون!
چون اینطوری، شما فقط فرم رو دارید تو تغییرات dropdownlist (که اونم id اش موحود نیست!) submit میکنید؛ کد اکشنی که داده های dropdownlist فرزند رو تامین میکنه و id المانهای view یا جایی که form داره submit میشه و ... رو بذارین بیزحمت.

Wily_Fox
پنج شنبه 17 مرداد 1392, 11:57 صبح
تنها تغییری که تو کد دادم SelectedGroup رو به داخل BaseModel بردم.
پس از تغییر کد دیدم اجرا نمیشه داخل سورس رو وقتی نگاه کردم دیدم BaseModel.SelectedGroup رو تبدیل کرده به BaseModel_SelectedGroup در نتیجه منم این اسم رو واسش نوشتم. که احتمال میدم درد از همین جاست.

Wily_Fox
پنج شنبه 17 مرداد 1392, 12:03 عصر
اینم کد ation مربوطه است



[HttpPost]
public ActionResult SelectNewsSubGroup(int SelectedNewsGroup
{
if (Request.IsAjaxRequest())
return PartialView("_NewsSubGroupPartial", _userProfileService.GetNewsSubGroup(SelectedNewsGr oup));
return RedirectToAction("Index");
}

Wily_Fox
پنج شنبه 17 مرداد 1392, 19:38 عصر
مشکل حل شد در تغییراتی که انجام داده بودم Model.Group اول SelectList بوده بعدا که تغییر دادم اشتباهی SelectListItem نوشته بودم. درواقع همین بی دقتی چند ساعت الافم کرد و داشتم دیونه میشدم!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!