2009-06-23 3 views
1

Я успешно создал и интегрировал успешный пользовательский контроль на приборной панели Umbraco. Страница начинается с элемента управления поиска, который возвращает список доступных для редактирования элементов.Umbraco: Управление бэкэдом

В моем контроле пользователя У меня возникают проблемы с ссылкой на ссылку для страницы редактирования. Я пытаюсь напрямую связать его. Вот этот код:

<asp:hyperlinkfield 
    datanavigateurlformatstring="/usercontrols/useradmin/item_edit.aspx?itemID={0}" 
    datanavigateurlfields="itemID" Text="edit" /> 

Umbraco не в состоянии справиться с прямой ссылкой, и я не знаю, как к нему путь. Вместо этого он возвращает эту ошибку:

No umbraco document matches the url ' http://localhost:1169/usercontrols/useradmin/item_edit.aspx?itemID=f66c8f06-9e0e-4f3c-ac0d-5544e0998094 ' umbraco tried this to match it using this xpath query'/root/node/node [@urlName = "usercontrols"]/node [@urlName = "useradmin"]/node [@urlName = "item_edit"]')

Есть ли способ связать с одного пользовательского элемента управления к другому в пределах таможенного контроля приборной панели?

ответ

1

Postback Опция

Вместо того, чтобы пытаться связать между страницами, почему бы не просто сделать всю работу в существующий пользовательский элемент управления с помощью постбэки?

т.е. способ, как это в вашем пользовательском элементе управления

public void Handle_Click(object sender, System.Event args) 
{ 
    //Do Something 
} 

Это будет работать правильно, как Umbraco не будет пытаться интерпретировать URL, как это оставаясь на той же странице.

+0

Я подумывал этот маршрут тоже. Но скорее подумайте, как связать себя с другими элементами управления, поскольку мне может понадобиться сделать это с будущей функциональностью. – JGrimm

+0

Просто обратите внимание, но вы не можете связываться между элементами управления, так как они не являются собственными страницами, т. Е. Вы не можете ссылаться на myControl.ascx, вы должны ссылаться на страницу, содержащую элемент управления i.e MyPageContainingMyControl.aspx. Это означает, что ссылка на страницу или параметры iFrame - это путь вперед. –

+0

Все хорошие моменты, Тим. Я думаю, что я собираюсь пойти с этим вариантом в настоящее время. – JGrimm

1

Ссылка на вариант страницы

Чтобы включить ссылки на другую страницу, вам нужно будет добавить запись в файл web.config говоря Umbraco игнорировать путь (так он не пытается интерпретировать URL).

Просто добавьте свой путь к следующему appSetting:

<add key="umbracoReservedPaths" value="/umbraco,/install,/YOUR/PATH/HERE" /> 

Ссылка будет работать в приборной панели контроля, однако он будет ссылаться на страницу, которая не имеет все дизайн приборной панели применена (так вкладки исчезнут и т. д.). Вы можете применить дизайн к своей странице .aspx, однако это довольно много работы.

1

вариант плавающего фрейма

Из-за ограничения, как описано в ссылке на вариант страницы, вы можете пожелать, чтобы загрузить ваши страницы администратора в плавающий фрейм, который вы положили на .ascx управления.

Таким образом, вы можете перейти от .aspx к .aspx и по-прежнему сохранять вкладки панели управления и окружающий дизайн.

Вам еще нужно добавить папку, содержащую вы .aspx страницы в записи umbracoReservedPaths в web.config

<add key="umbracoReservedPaths" value="/umbraco,/install,/YOUR/PATH/HERE" /> 

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

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