我有一个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的新手,请帮我解决这个问题。
答案 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