PDA

View Full Version : از دست رفتن js های layout و view بعد از لود کردن اطلاعات partial view با ajax



resident
پنج شنبه 22 اسفند 1392, 19:42 عصر
سلام.
من یه گرید دارم. وقتی سرچ انجام میشه ، ajaxای اطلاعات آورده میشه و گرید ساخته میشه.
وقتی صفحه لود میشه تو قسمت script فایرباگ همه ی اسکریپت هایی که تو layout و view و partial viewهست میاد. اما بعد از اینکه ajax اس اطلاعات رو میاره، فقط js های partial view میاد و اصلا js های موجود در layout و view ی اصلی نمیاد.
به جز اینکه js های لازم رو تو partial view بیاریم راه دیگه ای هست؟

مهدی کرامتی
پنج شنبه 22 اسفند 1392, 20:17 عصر
از چه روش Ajax ای استفاده کرده اید؟ Ajax.BeginForm یا jQuery Ajax ؟

resident
پنج شنبه 22 اسفند 1392, 20:47 عصر
از چه روش Ajax ای استفاده کرده اید؟ Ajax.BeginForm یا jQuery Ajax ؟

jQuery Ajax

مهدی کرامتی
پنج شنبه 22 اسفند 1392, 21:08 عصر
کد قسمت Ajax و آشن کنترلر تون رو بنویسید تا بررسی شود.

resident
پنج شنبه 22 اسفند 1392, 21:15 عصر
function searchColumn(pageNumberDesired) {
var URL = '@Url.Action("Index", "Person")'
$.ajax({
url: URL,
dataType: 'html',
data: {
txtSearchPerson_SexularID: $("#txtSearchPerson_SexularID").val(),
txtSearchPrefix_TitleID: $("#txtSearchPrefix_TitleID").val(),
txtSearchPerson_FirstNameID: $("#txtSearchPerson_FirstNameID").val(),
txtSearchPerson_LastNameID: $("#txtSearchPerson_LastNameID").val(),
txtSearchAcquaintanceMethod_TitleID: $("#txtSearchAcquaintanceMethod_TitleID").val(),
txtSearchPersonCompany_FormattedAffiliationsID: $("#txtSearchPersonCompany_FormattedAffiliationsID").val(),
txtSearchPersonCompany_FormattedTelephonesID: $("#txtSearchPersonCompany_FormattedTelephonesID").val(),
txtSearchPersonCompany_FormattedFaxesID: $("#txtSearchPersonCompany_FormattedFaxesID").val(),
txtSearchPersonCompany_FormattedMobilesID: $("#txtSearchPersonCompany_FormattedMobilesID").val(),
txtSearchPersonCompany_FormattedEmailsID: $("#txtSearchPersonCompany_FormattedEmailsID").val(),
txtSearchPersonCompany_FormattedUsersID: $("#txtSearchPersonCompany_FormattedUsersID").val(),
pageNumberDesired: pageNumberDesired,
rowCountOnPage: $("#pageSize").val()
},
type: 'POST',
success: function (data) {
$('#datatableDiv').html(data);
}
}




public ActionResult Index(string txtSearchPerson_SexularID, string txtSearchPrefix_TitleID, string txtSearchPerson_FirstNameID, string txtSearchPerson_LastNameID, string txtSearchAcquaintanceMethod_TitleID, string txtSearchPersonCompany_FormattedAffiliationsID, string txtSearchPersonCompany_FormattedTelephonesID, string txtSearchPersonCompany_FormattedFaxesID, string txtSearchPersonCompany_FormattedMobilesID, string txtSearchPersonCompany_FormattedEmailsID, string txtSearchPersonCompany_FormattedUsersID, int pageNumberDesired = 1, int rowCountOnPage = 10)
{
string orderBy = "PersonID";
SortOrder sortorder = SortOrder.Descending;

int pageCount = 0;
string condition = "";

var lstFetchOption = new List<FetchOption>
();

var itmFetchOption = new FetchOption();


if (!string.IsNullOrEmpty(txtSearchPerson_FirstNameID ) )
{
itmFetchOption.FieldType = "string";
itmFetchOption.FieldName = "Person_FirstName";
//itmFetchOption.FieldValue = txtBox.Text;
itmFetchOption.FieldValue = txtSearchPerson_FirstNameID;
itmFetchOption.FilterType = FetchOption.enFilterType.Like;
lstFetchOption.Add(itmFetchOption);
}

if (!string.IsNullOrEmpty(txtSearchPerson_LastNameID) )
{
itmFetchOption.FieldType = "string";
itmFetchOption.FieldName = "Person_LastName";
itmFetchOption.FieldValue = txtSearchPerson_LastNameID;
itmFetchOption.FilterType = FetchOption.enFilterType.Like;
lstFetchOption.Add(itmFetchOption);
}

if (lstFetchOption != null && lstFetchOption.Count()>0)
{
condition = new FetchOption().BuildWhereClauseStatement(lstFetchOp tion);
int SpaceIndex=condition.IndexOf(" ");
condition = condition.Substring(SpaceIndex, condition.Length - SpaceIndex);
}


var entity = RepositoryObject.SelectPaging(condition, orderBy, sortorder, pageNumberDesired, rowCountOnPage, out pageCount);

//==================
ViewBag.txtSearchPerson_SexularID = txtSearchPerson_SexularID;
ViewBag.txtSearchPrefix_TitleID = txtSearchPrefix_TitleID;
ViewBag.txtSearchPerson_FirstNameID = txtSearchPerson_FirstNameID;
ViewBag.txtSearchPerson_LastNameID = txtSearchPerson_LastNameID;
ViewBag.txtSearchAcquaintanceMethod_TitleID = txtSearchAcquaintanceMethod_TitleID;
ViewBag.txtSearchPersonCompany_FormattedAffiliatio nsID = txtSearchPersonCompany_FormattedAffiliationsID;
ViewBag.txtSearchPersonCompany_FormattedTelephones ID = txtSearchPersonCompany_FormattedTelephonesID;
ViewBag.txtSearchPersonCompany_FormattedFaxesID = txtSearchPersonCompany_FormattedFaxesID;
ViewBag.txtSearchPersonCompany_FormattedMobilesID = txtSearchPersonCompany_FormattedMobilesID;
ViewBag.txtSearchPersonCompany_FormattedEmailsID = txtSearchPersonCompany_FormattedEmailsID;
ViewBag.txtSearchPersonCompany_FormattedUsersID = txtSearchPersonCompany_FormattedUsersID;
ViewBag.CurrentPageNumber = pageNumberDesired;
ViewBag.rowCountOnPage = rowCountOnPage;
ViewBag.TotalRowsByFiltering = 20;
ViewBag.OrderBy = "";
ViewBag.SortOrder = "";
ViewBag.TotalPagesCount = pageCount;
//===================

if (Request.IsAjaxRequest())
{
return PartialView("_PersonDataTable",entity);
}
else
{
return View(entity);
}
}

مهدی کرامتی
پنج شنبه 22 اسفند 1392, 22:07 عصر
به احتمال زیاد مشکل از روش Post است که استفاده کردی. وقتی متد Post هست یک بار Browser میره سمت سرور و برمیگرده. خط 21 در مثالی که گذاشتید رو به شکل زیر تغییر دهید و نتیجه را گزارش کنید:
type: 'GET'

resident
پنج شنبه 22 اسفند 1392, 22:43 عصر
به احتمال زیاد مشکل از روش Post است که استفاده کردی. وقتی متد Post هست یک بار Browser میره سمت سرور و برمیگرده. خط 21 در مثالی که گذاشتید رو به شکل زیر تغییر دهید و نتیجه را گزارش کنید:
type: 'GET'

خیلـــــــــــــــــی خیلــــــــــــــــــــــ ــــــــــــی ممنونم ازتون استاد...
حل شد...

از شما به خاطر وقتی که میذارید سپاسگزارم... واقعا لطف می کنید


تو پست هایی توو همین انجمن دیدم یه سری از دویتان این مشکل رو بیان کرده بودن ولی به نتیجه نرسیده بودن و نهایتا رفته بودن سراغ پلاگین های دیگه...
خوشحالم که مجبور نشدم از گرید دیگه ای استفاده کنم ;)