如何在MVC控制器类中使用.cs类DataFunctions

时间:2015-02-06 04:43:21

标签: asp.net-mvc asp.net-mvc-4

我有一个asp.net Web应用程序,现在我正在尝试将其转换为ASP.NET MVC。问题是我的旧项目有一些.cs类我,示例一个类处理所有用户数据操作,一个处理数据库操作,一个将处理一些优先级属性,如...我已经在mvc项目中包含了这些类,我创建了一个名为Project_Class的新文件夹并将我的所有类复制到它,我的问题是如何在mvc控制器类中访问这些类,如何在mvc控制器类中调用此类的函数。

I had include a sample .cs class structure below 

**class1.cs** 

using System;
using System.Collections;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Drawing;
using System.Text;
using System.Data.SqlClient;
using System.Xml;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls;

namespace xyz.abc
{
    public class AssignValues:SSS
    {
        Process Objdb;
        SqlCommand sqlcom;
        SqlConnection sqlcon;

        private int _EId;
        private int _CId;
        XmlDocument PXML, OutputXML;
        XmlElement Root, ParameterElement, InputParamIdNode, OperatorIdNode, OutputParamIdNode, OutputParamValueNode, ConditionStatusNode, ModeNode, InputTypeNode, OutputTypeNode, InputRegisterIdNode, InputRegisterHeaderIdNode, OutputRegisterIdNode, OutputRegisterHeaderIdNode, UIdNode, orderNode;

        public int iCount = 0;
        public int EId
        {
            set
            {
                _EId = value;
            }
            get
            {
                return _EId;
            }
        }
        public int CId
        {
            set
            {
                _CId = value;
            }
            get
            {
                return _CId;
            }
        }
        public AssignValues()
        {

        }
        public AssignValues(SqlCommand SqlComm,SqlConnection SqlConn)
        {
            Objdb = new Process();

            sqlcom=SqlComm;
            sqlcon = SqlConn;
        }

    public string check()
{
string x="hai";
return x
}
}
}

我的控制器类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using XYZ.ABC.Controllers;
using XYZ.ABC;

namespace XYZ.ABC.Controllers
{
    public class XYZ_Controller :Controller
    {

        public ActionResult XYZ_Checklist()
        {
            return View();
        }

    }
}

我想打电话"公共字符串检查()"在我的控制器类中的方法,是否可能? ,我是mvc的新手,请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

MVC框架只是实例化您的Controller类,并使用某些已定义的配置或约定来调用操作方法。因此,考虑到这一点,请问自己,如果您自己实例化控制器并调用XYZ_Checklist(),我将如何调用此方法。

答案可能如下所示:

public ActionResult XYZ_Checklist()
{
    var assignValues = new AssignValues();
    var result = assignValues.check();

    // Do something here with the result ...

    return View();
}

这是简短而简单的答案。一旦你开始明白框架并不神奇并只是调用你的代码,你就可以开始深入研究安排代码的更好方法(IoC / DI等)。

希望这有帮助!

答案 1 :(得分:0)

您可以在MVC控制器类中调用它

按照步骤

1)在MVC控制器类

中包含类的名称空间

2)在MVC控制器中继承旧类

 Public Class MVCCOntrollerclassname: Class1

3)创建.cs类的对象

喜欢

class1 c=new class1();

4)创建MVC控制器类

的构造函数

喜欢

 MVCCOntrollerclassname()
        {
            c.methodname();

        }

注意:您说您正在将asp.net迁移到MVC,所以如果您有任何asp.net dll,那么必须将其更改为MVC Compitable dll