我创建了一个用户控件,它应该在页面加载时基本上在我的表单中填充下拉列表,并在提交通过 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);
}
}
}