Asp.net 如何在控制器mvc中声明公共var和返回

Asp.net 如何在控制器mvc中声明公共var和返回,asp.net,model-view-controller,Asp.net,Model View Controller,我已将两个参数从视图页传递给控制器。但我不知道如何返回这个..“var Source”。它应该显示错误 [HttpPost] public JsonResult FilterbyAutoComplete(string prefix,string filterBy) { VGLMSEntities2 db = new VGLMSEntities2(); var Source=""; if (filterBy == "Patient

我已将两个参数从视图页传递给控制器。但我不知道如何返回这个..“var Source”。它应该显示错误

  [HttpPost]
    public JsonResult FilterbyAutoComplete(string prefix,string filterBy)
    {
        VGLMSEntities2 db = new VGLMSEntities2();
        var Source="";
        if (filterBy == "Patient Name")
        {
            Source = db.Patient_Registeration.Where(m => m.PatientName.StartsWith(prefix)).Select(x => new { label = x.PatientName, val = x.PatientName }).ToList();
        }


        return Json(Source );
    }


var
关键字只是一个语法糖,它实际上并不存在,它只是告诉编译器使用右边的任何东西并使用相同的东西

我相信您可能希望在这种情况下使用类型“object”

你也可以这样做

    if (...)
        return db.Patient_Registeration....
return Json(); // In case condition didn't catch
您可以使用dynamic

[HttpPost]
public JsonResult FilterbyAutoComplete(string prefix,string filterBy)
{
    VGLMSEntities2 db = new VGLMSEntities2();
    dynamic Source=null;
    if (filterBy == "Patient Name")
    {
        Source = db.Patient_Registeration.Where(m => m.PatientName.StartsWith(prefix)).Select(x => new { label = x.PatientName, val = x.PatientName }).ToList();
    }


    return Json(Source );
}

你是在说屏幕截图中显示的错误吗?你为什么有屏幕截图?我不清楚这里有什么问题。我不能返回这个“来源”。。事实上,我必须写嵌套的,否则。我无法返回此对象。