Dotnetnuke DNN 7在模块中打开页面/模块

Dotnetnuke DNN 7在模块中打开页面/模块,dotnetnuke,Dotnetnuke,在DNN7上工作时,我有一个显示一些用户信息的网格。 我想设置一个编辑操作,编辑用户,如进入管理面板 所以我选择在同一个页面中创建一个模型 <rad:GridTemplateColumn HeaderStyle-Width="0" ItemStyle-HorizontalAlign="Center" AllowFiltering="False"> <ItemTemplate> <a href="#" data-id="<%#((Cust

在DNN7上工作时,我有一个显示一些用户信息的网格。 我想设置一个编辑操作,编辑用户,如进入管理面板

所以我选择在同一个页面中创建一个模型

<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;
});
但这并不好,因为Globals.NavigateURL会将我所在的页面返回给我

我也看了一下ResolveUrl函数,但没有成功地做好一些事情

因此,如果有人能帮助我,或者给我一个例子/提示,那就太好了

塔克斯

编辑:它可以与这段代码一起工作,但它看起来并没有得到优化,也不是很好

public string GetEditUrlUser()
    {
        var url = Globals.NavigateURL("Edit", "mid","393","UserID","KEYFIELD", "filter/All/pagesize/10/currentpage/0", "popUp=true");
        return url;
    }
编辑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;
    }

好吧,我想,我终于明白了

ASCX代码将是

<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>
而且效果很好

我希望它能帮助别人

<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>
function refreshGrid() {
    // grdCustomers should be the ID of your grid
    $find("<%= grdCustomers.ClientID %>").get_masterTableView().rebind();
}

// edit user infos
$('.e').click(function () {
    var url = "<%= GetEditUrlUser() %>".replace(new RegExp("KEYFIELD", "g"), $(this).attr("data-id"));
    dnnModal.show(url,/*showReturn*/true, 550, 950, true, 'javascript:parent.window.refreshGrid()');
    return false;
});
public string GetEditUrlUser()
{
    var moduleController = new ModuleController();
    var adminUserModule = moduleController.GetModuleByDefinition(PortalId, "User Accounts");
        var url = Globals.NavigateURL(adminUserModule.TabID, "Edit", "mid=" + adminUserModule.ModuleID, "userId=KEYFIELD", "popUp=true");
    return url;
}