2014-09-30 1 views
0

С прошлой пары дней у меня возникла одна проблема, когда я не могу получить доступ к каким-либо файлам .js в частичном представлении, на которые ссылаются в Mainview. Даже я попытался ссылаться на те же файлы снова в частичном представлении, но не повезло. Я использую ссылку ajax, чтобы открыть частичное представление как модальное всплывающее окно. Насколько я знаю, js-файлы не будут загружены в случае вызовов Ajax. Так что попробовал http://geekswithblogs.net/DougLampe/archive/2010/11/12/execute-javascript-in-mvc-partial-view.aspxlink. но не повезло. Я не уверен, что писать в общедоступном методе ActionResult DynamicJavaScript().js файлы не загружаются ajax загрузка частичного представления MVC 4

Однако, если я пишу встроенные скрипты в частичном представлении, он работает, конечно, с частичным представлением, но не в js-файлах. PSB мой код, чтобы открыть частичный вид.

@Ajax.ActionLink("Edit", "EditVoucherBook", "Tasks", new { id = m1.vbkID, PageNumber = Model.PageNumber }, new AjaxOptions { HttpMethod = "get", OnBegin = "openmodalpopup", OnComplete = "closemodalpopup" }, new { @class = "modal-popup" }). 

openmodalpopup и closemodalpopup нужно записать в частичном и те, которые используются показать Ajax загрузки изображений (GIF).

Заранее спасибо.

+0

Что вы подразумеваете под своим именем «невозможно получить доступ к файлам .js в частичном представлении»? Не работает ли метод вызова? есть ли какие-либо привязки событий? Некоторый код поможет дать правильный ответ. – Amila

+0

Да, методы или функции в js-файлах, которые не вызываются. – user3851995

ответ

0

Heloo У меня такая же проблема, тоже я решил, что просто меняется @ Ajax.ActionLink на кнопку с инлайн Javascript

мой старый код находится в моем list.cshtml частичный экран

@Ajax.ActionLink("Add Notes", "OpenCreateForm", new { merchantNumber = Model.MerchantNumber }, new AjaxOptions { InsertionMode = InsertionMode.Replace , HttpMethod = "GET", OnSuccess = "OpenPopup" }, new { @class = "btn form-size200" }) 

«OpenCreateForm «это мой метод контроллера. В этом случае я не могу найти ни одного из моих связанных скриптов js.

я изменил @ Ajax.ActionLink к простой кнопке с OnClick даже

<input type="button" class="btn form-size200" value="Add Notes" onclick="openFormCreate(@Model.MerchantNumber);" /> 

затем в моем файле индекса я пишу этот JS-код.

function openFormCreate(mrcNumber) { 
    $.ajax({ 
     contentType: 'application/html', 
     url: '@Url.Action("OpenCreateForm", "BranchNotes")', 
     dataType: 'html', 
     type: 'GET', 
     data: { 
      merchantNumber: mrcNumber 
     } 
    }).done(function (result) { 
     CreateDialog('Notes'); 
     myDialog.html(result).dialog().dialog('open'); 
    }); 
} 

и мой контроллер

public ActionResult OpenCreateForm(string merchantNumber) 
    { 
     BranchNotesDetailViewModel viewModel = new BranchNotesDetailViewModel() 
     { 
      MerchantBranchNotes = new MerchantBranchNote() 
      { 
       MerchantNumber = long.Parse(merchantNumber), 
      } 
     }; 

     return PartialView("Edit", viewModel); 
    } 

Я надеюсь, что это помогает.

 Смежные вопросы

  • Нет связанных вопросов^_^