0

我创建了一个用户控件,它应该在页面加载时基本上在我的表单中填充下拉列表,并在提交通过 linq 将信息提交到数据库后添加。

然而,我面临的问题是智能感知没有识别查询术语,例如我的用户控件中的位置和选择。任何指向我可能会丢失的东西?

    using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.Entity;
using System.Data.Linq;
using UmbracoProd.admin.code.Test;
using UmbracoProd.code;

namespace UmbracoProd.usercontrols.forms
{
    public partial class testCancellation : System.Web.UI.UserControl
    {
       private testhousingEntities canceldb = new testhousingEntities();       

        /*load form*/
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                InitializeForm();
            }            

        }   
        /*updating the database with new row of info */
        private void CreateEntry()
        {
            var date = DateTime.Today;
            var version = (from v in canceldb.CancellationVersions
                            where v.Active
                            select v).FirstOrDefault();

            if (version == null)
            {
              throw new NullReferenceException();
            }            

            //Try to create an entry for the database.  Upon failure, sends the exception to ThrowDbError();
            try
            {
                CancellationRequest cancel = new CancellationRequest();

                //cancel.Semester=ddlSemester.DataTextField.ToString();
                cancel.SubmitDate = date;
                cancel.StudentID = txtStudentId.ToString();
                cancel.FirstName = txtFirstName.ToString();
                cancel.MiddleName = txtMiddleName.ToString();
                cancel.LastName = txtLastName.ToString();
                cancel.AptBuilding = txtAptBuilding.ToString();
                cancel.AptNumber = txtAptNumber.ToString();
                cancel.PermAddress = txtPermAddress.ToString();
                cancel.PermCity = txtPermCity.ToString();
                cancel.PermZip = txtPermZip.ToString();
                cancel.PermState = ddlState.SelectedItem.ToString();
                cancel.Phone = txtPhone.ToString();
                cancel.Email = txtEmail.ToString();
                cancel.Reason = rbCancellation.SelectedItem.ToString();
                cancel.Other = txtOther.ToString();

                canceldb.CancellationRequests.Add(cancel);
                canceldb.SaveChanges();
            }
            catch (Exception oe)
            {
                ThrowDbError(oe);
            }
        }

        /*database exception error*/
        private void ThrowDbError(Exception oe)
        {
            canceldb.Dispose();
            Session.Contents.Add("FormException", oe);
            Response.Redirect("/DBError/", true);
        }

        protected void FormSubmit(object sender, EventArgs e)
        {
            try
            {
              CreateEntry();
            }
            catch (Exception oe)
            {
              ThrowDbError(oe);
            }
        }      
    }
4

2 回答 2

0

如果不是您缺少对 System.Linq 的引用,则可能是您有某种类型的对象,该对象的类型可以返回 AsQueryable()。如果它可以返回它,它将解决您的问题。

于 2013-01-11T20:32:08.350 回答
0

您只需要添加@using System.Linq到每个视图的顶部吗?

于 2013-01-11T20:16:19.633 回答