【问题标题】:Getting values from SQL table in Evoq (DotNetNuke), DNN custom Module从 Evoq (DotNetNuke) 中的 SQL 表中获取值,DNN 自定义模块
【发布时间】:2022-07-28 16:53:04
【问题描述】:

我对 c# 或 asp.net 不太熟悉。如果您有解决方案,请在解释时牢记这一点。

我正在使用 DNN 和 Evoq。我使用 Module Creator 创建了一个新模块。我需要访问我的表(Test_Table)。该表是内部的,它是 DNN/Evoq 数据库的一部分。 当我转到 Evoq (CMS)、设置、SQL 控制台时,我可以访问它。 (示例:Select * from Test_Table)表设置正确。

这些是我创建模块时得到的启动文件: View.ascx、View.ascx.cs 和 In App_LocalResources View.ascx

我的问题。

如何获取 Test_Table 的表值,该表不是外部表,而是 DNN/Evoq 数据库的一部分。此表也没有安全/登录要求。

代码在:View.ascx.cs

#region Using Statements

using System;
using DotNetNuke.Entities.Modules;

#endregion

namespace TestFormSupport1.MyTestFormSupport1
{

public partial class View : PortalModuleBase
{

    #region Event Handlers

    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);

        cmdSave.Click += cmdSave_Click;
        cmdCancel.Click += cmdCancel_Click;
    }

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        
        if (!Page.IsPostBack)
        {
                         txtField.Text = (string)Settings["field"];
        }
    }
    
    protected void cmdSave_Click(object sender, EventArgs e)
    {

        ModuleController.Instance.UpdateModuleSetting(ModuleId, "field", txtField.Text);
        DotNetNuke.UI.Skins.Skin.AddModuleMessage(this, "Update Successful 3", DotNetNuke.UI.Skins.Controls.ModuleMessage.ModuleMessageType.GreenSuccess);
    }


    protected void cmdCancel_Click(object sender, EventArgs e)
    {
    }

    #endregion

}

}

View.ascx 上的代码

<%@ Control Language="C#" AutoEventWireup="false" Inherits="TestFormSupport1.MyTestFormSupport1.View" CodeFile="View.ascx.cs" %>

<%@ Register TagPrefix="dnn" TagName="Label" Src="~/controls/LabelControl.ascx" %>

<div class="dnnForm dnnEdit dnnClear" id="dnnEdit">

<fieldset>

    <div class="dnnFormItem">

        <dnn:label id="plField" runat="server" text="Field" helptext="Enter a value" controlname="txtField" />

        <asp:textbox id="txtField" runat="server" maxlength="255" />

    </div>

  </fieldset>

   <ul class="dnnActions dnnClear">

    <li><asp:linkbutton id="cmdSave" text="Save" runat="server" cssclass="dnnPrimaryAction" /></li>

    <li><asp:linkbutton id="cmdCancel" text="Cancel" runat="server" cssclass="dnnSecondaryAction" /></li>

</ul>
</div>

提前致谢

【问题讨论】:

  • 这不是一个解决方案,但您需要获得 Mitchell Sellers 的《DotNetNuke 模块编程》一书和 Chris Hammond 的模块开发模板的副本。这些城镇资源将提供您需要了解的内容。
  • 谢谢乔,感谢您的任何建议。我会看看你推荐的书。

标签: sql database content-management-system dotnetnuke dnn9


【解决方案1】:

DNN 具有不同的访问数据的可能性——DAL、DAL+ 和DAL2(这是“最新”的一种)。要查找示例,请阅读Using DAL 2 in a real world module

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多