Работая над DNN 7, у меня есть сетка, в которой отображается информация о пользователях. Я хотел бы установить «действие редактирования», чтобы отредактировать пользователя, например, в панель администратора.DNN 7 Откройте страницу/модуль в модуле
Итак, я решил сделать modale на той же странице.
<rad:GridTemplateColumn HeaderStyle-Width="0" ItemStyle-HorizontalAlign="Center" AllowFiltering="False">
<ItemTemplate>
<a href="#" data-id="<%#((CustomerViewModel)Container.DataItem).UserID%>" class="e">
<img src='<%=ResolveUrl("~/Icons/Sigma/Edit_16x16_Standard.png")%>' title='Edit user' />
</a>
</ItemTemplate>
</rad:GridTemplateColumn>
// edit user infos
$('.e').click(function() {
var url = "<%= GetEditUrlUser() %>".replace(new RegExp("KEYFIELD", "g"), $(this).attr("data-id"));
//alert(url);
dnnModal.show(url, true, 550, 950, false, '');
return false;
});
А вот моя функция CS
public string GetEditUrlUser()
{
// I need to show "dnndev.me/en-us/Admin/User-Accounts/ctl/Edit/mid/"+ModuleId+"/UserId/KEYFIELD/filter/All/pagesize/10/currentpage/0?popUp=true ";
var url = Globals.NavigateURL("393", "Edit", "mid=" + ModuleId, "UserID=KEYFIELD", "filter/All/pagesize/10/currentpage/0", "popUp=true");
return url;
}
Но это не хорошо, так как Globals.NavigateURL() возвращают мне страницу, где я.
Я также посмотрел на функцию ResolveUrl()
, но не смог ничего сделать.
Итак, если кто-то может мне помочь или дать мне пример/советы, было бы здорово.
Thanx
EDIT: Это работает с этим кодом, но это не кажется, оптимизирован и очень большой
public string GetEditUrlUser()
{
var url = Globals.NavigateURL("Edit", "mid","393","UserID","KEYFIELD", "filter/All/pagesize/10/currentpage/0", "popUp=true");
return url;
}
EDIT 2: Для того, чтобы сделать его более эффективным, я это на самом деле. Но это не работает, я получил пустую версию.
Но этот способ выглядеть действительно лучше, так как он будет искать себя для модуля администратора
public string GetEditUrlUser()
{
// dnndev.me/en-us/Admin/User-Accounts/ctl/Edit/mid/"+ModuleId+"/UserId/KEYFIELD/filter/All/pagesize/10/currentpage/0?popUp=true
var moduleController = new ModuleController();
var adminUserModule = moduleController.GetModuleByDefinition(PortalId, "User Accounts");
var url = EditUrl(adminUserModule.TabID, "Edit", false, "mid="+adminUserModule.ModuleID, "userId=KEYFIELD");
return url;
}