0

我真的在我的智慧在这里结束。基本上是因为我对 DotNetNuke 不是很熟悉,而且我正在处理的网站最初不是由我构建的,因此很难找到我需要处理的文件和目录。我一直在寻找解决方案,但我似乎无法深入了解它,我相信这可能是一个简单的解决方案。

问题:我有一个用户填写的表格,然后将该数据插入到数据库表中,但我收到了一个错误。

引发错误:过程或函数 AddFranchiseFollowUp 指定了太多参数。

我已经在这里工作了几天,由于我对 DotNetNuke 不是很熟悉,我不确定是否需要更多信息才能找到解决方案,所以如果是这种情况,我提前道歉。这个源代码不是我写的,这就是我找到它的方式,在开发站点上有这个表单的工作版本,我确保实时站点的数据库与开发站点完全相同。我刚刚通过 FTP 将模块的文件从开发人员复制到了实时站点,但我开始认为我需要复制其他某种文件?我不知道该怎么做,如果这是一个愚蠢的问题,我很抱歉,但我需要以一种或另一种方式解决这个问题。

我还仔细检查了 .ascx.cs 和 .ascx 基本文件中是否存在任何其他违规行为,但似乎无法确定我的错误来自何处。希望我也能得到答案并了解更多相关信息,感谢所有阅读本文和/或提供解决方案的人!

CodeFile FranchiseEnqDetails.ascx.cs 来源:

using System;
using System.Data.SqlClient;
using DotNetNuke;
using DotNetNuke.Common;
using DotNetNuke.Common.Utilities;
using DotNetNuke.Entities.Modules;
using DotNetNuke.Services.Exceptions;
using DotNetNuke.Services.Localization;
using TemplateParser;
namespace YourCompany.Modules.FranchiseEnqDetails
{
partial class FranchiseEnqDetails : PortalModuleBase
{
    protected void Page_Load(object sender, EventArgs FranchiseEnqDetails)
    {
        if (!IsPostBack)
        {
            hlFile1.Visible = false;
            hlFile2.Visible = false;
            lblSuccessMsg.Visible = false;
        }
    }
   protected void btnSubmit_Click1(object sender, EventArgs e)
    {
        if (INsertFPFranchiseUserDetails())
        {
            btnSubmit.Enabled = false;
            hlFile1.Visible = true;
            hlFile2.Visible = true;
            lblSuccessMsg.Visible = true;
        }
    }
internal bool INsertFPFranchiseUserDetails()
    {
        SqlConnection con = null;
        SqlCommand cmd = null;

        string ConnString = System.Configuration.ConfigurationManager.AppSettings["SiteSqlServer"].ToString();
        try
        {
con = new SqlConnection(ConnString);
            cmd = new SqlCommand();

            //cmd.Parameters.Add(new SqlParameter("@FranchiseEnqName", txtFirstName.Text));
            //cmd.Parameters.Add(new SqlParameter("@FranchiseEnqEmailId", txtEmailAddress.Text));
            //cmd.Parameters.Add(new SqlParameter("@FranchiseEnqPhoneNo", txtPhoneNo.Text));
            //cmd.Parameters.Add(new SqlParameter("@FranchiseEnqStreet", txtStreet.Text));
            //cmd.Parameters.Add(new SqlParameter("@FranchiseEnqCity", txtCity.Text));
            //cmd.Parameters.Add(new SqlParameter("@FranchiseEnqState", txtState.Text));
            //cmd.Parameters.Add(new SqlParameter("@FranchiseEnqZip", txtZip.Text));

                cmd.Parameters.Add(new SqlParameter("@FirstName", txtFirstName.Text));
                cmd.Parameters.Add(new SqlParameter("@LastName", txtLastName.Text));
                cmd.Parameters.Add(new SqlParameter("@EmailAddress", txtEmailAddress.Text));
                cmd.Parameters.Add(new SqlParameter("@Address1", txtAddress1.Text));
                cmd.Parameters.Add(new SqlParameter("@Address2", txtAddress2.Text));
                cmd.Parameters.Add(new SqlParameter("@City", txtCity.Text));
                cmd.Parameters.Add(new SqlParameter("@fpState", txtState.Text));
                cmd.Parameters.Add(new SqlParameter("@Zip", txtZip.Text));
                cmd.Parameters.Add(new SqlParameter("@PhoneNo", txtPhoneNo.Text));

            con.Open();
            cmd.Connection = con;
            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.CommandText = "dbo.AddFranchiseFollowUp";
            cmd.ExecuteNonQuery();
            con.Close();
            return true;
        }
        catch (Exception ex)
        {
            lblError.Text = ex.Message;
            return false;
        }
        finally
        {
            if (con != null)
            {
                con.Close();
                con.Dispose();
                con = null;
            }

            if (cmd != null)
            {
                cmd.Dispose();

                cmd = null;
            }
        }
    }
  }
}
4

1 回答 1

1

如果您的 Module 是一个已编译的模块,仅对 .CS 文件进行更改将无济于事,您还需要重新编译该模块。

你怎么知道它是否被编译?查看网站的 BIN 文件夹,查看其中是否有与模块名称匹配的 DLL。

于 2013-08-06T20:26:32.683 回答