Я довольно новичок в SharePoint (я работаю над SharePoint 2013) и .NET , и у меня возникает следующая проблема.
В Веб-часть У меня есть кнопка, и мне нужно вставить перенаправление JavaScript, используя свойство OnClientClick .В моем коде я сделал что-то вроде этого:
ImageButton btnApplica = new ImageButton();
btnApplica.ToolTip = "Documento in Entrata";
//btnApplica.Click += btnApplica_Click_Scelta_Campi_Etichetta;
btnApplica.OnClientClick = "<script>"
+ "function() {"
+ "window.location.href = '" + SPContext.Current.Web.Url + "/MYPROJECTNAME WEBPART/Carica documento.aspx?mode=scelta_campi_facoltativi_etichetta&obj='" +obj
+ ";return false;"
+ "}"
+ "</script>";
//btnApplica.Click += btnApplica_Click;
//openButton.OnClientClick = "return false;";
btnApplica.ID = "btnEntrata";
btnApplica.ImageUrl = "/_layouts/15/images/myprojectname/Default/Ribbon/DocEntrataRibbon.png";
LinkButton text = new LinkButton();
text.Text = "Documento in Entrata";
text.ID = "btnEntrataTxt";
text.Width = 80;
//text.Click += btnApplica_Click;
//text.Click += btnApplica_Click_Scelta_Campi_Etichetta;
buttondiv.Controls.Add(btnApplica);
buttondiv.Controls.Add(new LiteralControl("<br/>"));
buttondiv.Controls.Add(text);
ribbondiv.Controls.Add(buttondiv);
Как вы можете видеть, я пытаюсь создать перенаправление "в клиенте", поэтому я использовал свойство OnClientClick для этой кнопки,Я определил простую функцию JavaScript для выполнения исправления, которое заканчивается на return false , чтобы избежать перезагрузки всей страницы после нажатия кнопки, это:
btnApplica.OnClientClick = "<script>"
+ "function() {"
+ "window.location.href = '" + SPContext.Current.Web.Url + "/MYPROJECTNAME WEBPART/Carica documento.aspx?mode=scelta_campi_facoltativi_etichetta&obj='" +obj
+ ";return false;"
+ "}"
+ "</script>";
Этот раздел кода имеетнекоторые проблемы, нажав на мою кнопку, случается, что:
HTTP-запрос POST выполняется на правильный URL:
http://mymachine:8080/Protocollo/pg/MYPROJECTNAME WEBPART/Carica documento.aspx?mode=ant&obj=17&IsDlg=1
(я вижу его на вкладке Сеть в Firefox, кажетсядля меня абсолютно правильно)
Но страница полностью обновлена (поэтому я не получаю ожидаемую замену раздела).
Глядя в консоль браузера JavaScrip, я получаю следующее сообщение об ошибке:
SyntaxError: expected expression, got '<'
Поэтому я думаю, что что-то пошло не так, определяя второй параметр моей простой функции JavaScript ( return false ).
Я делаю:
+ ";return false;"
потому что я добавляю символ ; , чтобы сказать, что предыдущая оценка завершена ( window.location.href = .... , которая выполняет перенаправление)и этоЯ возвращаюсь к ложному.
Я схожу с ума и не могу понять, что не так ... может быть, какой-то символ или пропущенный побег.
Что не так?Чего мне не хватает?Как я могу исправить эту проблему?