C#MVC查询WHERE子句和View中的2个参数

Kev*_*ida 2 c# sql asp.net-mvc asp.net-mvc-3

我需要使用WHERE子句查询我的数据库,并将参数从我的视图传递给控制器​​.我完全失去了,因为我是一名JavaScript和PHP开发人员,目前正在学习dotnet MVC(我正在使用vs10 framework4).

我本质上需要进行此查询:

select * from myTable where column1=16 and column2=24
Run Code Online (Sandbox Code Playgroud)

column1和column2的值在我的View中.我已经找到了关于如何拉出整个表的一百万个例子,或者基于一个参数的结果,我无法弄清楚如何进行这个简单的查询.

这似乎是一项简单的任务,我会感激任何帮助,因为我花了5个小时试图解决这个问题.

以下是我的代码的一些关键组件,希望能帮助别人帮助我.我真诚地感谢任何帮助.

控制器:

    public class SignBuilderController : Controller
    {


        SignBuilderModel signBuilderModel = new SignBuilderModel();


        //
        // Initialize database entities
        SignBuilderEntities _db;
        public SignBuilderController()
        {
            _db = new SignBuilderEntities();
        }

 //
        // Get /SignBuilder/PrintSetup
        [Authorize]
        public ActionResult PrintSetup()
        {

            var pricesList = signBuilderModel.GetPricingList().ToList();
            return View("PrintSetup", pricesList);

        }



// get Column1 and column 2 query
public ActionResult TestPage(int column1, int column1) 
{
     //do something here
     return View();
}
Run Code Online (Sandbox Code Playgroud)

在我的视图中,我将从输入字段中检索我的where子句的值.例:

<input type="text" name="column1value" id="column1value" />
<input type="text" name="column2value" id="column2value" />
Run Code Online (Sandbox Code Playgroud)

显然我也在使用模型,所以如果需要这样做,这项工作没问题.我真的在寻找可以用作例子来学习的示例代码.我真的很感激任何帮助,我即将拔掉头发.

Cha*_*ndu 6

试试这个(我假设您的视图是强类型的):

public ActionResult(int column1, int column2)      
{
   //do something here.          
     var model = 
        (
            from p in this.GetPricingList()
            where (p.column1 == column1) && (p.column2 == column2)
            select p
        ).FirstOrDefault();
     return View(model);     
} 
Run Code Online (Sandbox Code Playgroud)

并在视图中:

<input type="text" name="column1" id="column1value"  value="<%=Model.column1%>"/> 
<input type="text" name="column2" id="column2value"  value="<%=Model.column2%>"/> 
Run Code Online (Sandbox Code Playgroud)