Мне нужны два флажка, чтобы установить или снять флажок со ссылкой на базу данных.Я новичок в программировании, и что требуется, так это то, что при поиске пациента будет отображаться, хочет ли пациент получать спам и является ли он донором или нет.что происходит с моим кодом, когда я ищу пациента, я получаю сообщение об ошибке «недопустимое исключение приведения не было обработано кодом пользователя». Что-то о преобразовании строки в логическое значение, вот мой код
< % input type="checkbox" name="spam" value="Y" <%if (String.Compare((String) ViewData["spam"],"Y",false)==0) Response.Write("checked"); %>
мне сказали, что еслиутверждение неверно, и мне было дано следующее:
if (mystring=="Y") myboolean=true; else myboolean=false;
однако я не уверен, что такое mystring или myboolean
мой контроллер:
public void patientInit()
{
hospitalSQLEntities db = new hospitalSQLEntities();
ViewData["bloodtypeList"] = db.bloodtypes.ToList();
ViewData["patientid"] = "";
ViewData["patientname"] = "";
ViewData["bloodtype"] = 0;
ViewData["gender"] = "";
ViewData["spam"] = "";
ViewData["organs"] = "";
ViewData["address"] = "";
ViewData["message"] = "";
}
public void patientNewButtPressed()
{
if (Request.Params["submitter"] == "New Patient")
{
ViewData["patientid"] = "(System Specified)";
ViewData["patientname"] = "";
ViewData["bloodtype"] = 0;
ViewData["gender"] = "";
ViewData["spam"] = "";
ViewData["organs"] = "";
ViewData["address"] = "";
ViewData["message"] = "";
}
}
public void patientSearchByID()
{
hospitalSQLEntities db = new hospitalSQLEntities();
String formpatientid = Request.Params["searchpatientid"];
patient mypatient = null;
bool foundship = true;
try
{
mypatient = db.patients.Single(u => u.patientid == formpatientid);
}
catch (Exception e)
{
foundship = false;
}
if (foundship)
{
ViewData["patientid"] = "" + mypatient.patientid;
ViewData["patientname"] = mypatient.patientname;
ViewData["bloodtype"] = mypatient.bloodtype;
ViewData["gender"] = mypatient.gender;
ViewData["spam"] = mypatient.spam;
ViewData["organs"] = mypatient.organs;
ViewData["address"] = mypatient.address;
ViewData["message"] = "patient " + mypatient.patientid +" found";
}
else
{
ViewData["patientid"] = "(System Specified)";
ViewData["patientname"] = "";
ViewData["bloodtype"] = 0;
ViewData["gender"] = "";
ViewData["spam"] = "";
ViewData["organs"] = "";
ViewData["address"] = "";
ViewData["message"] = "Cannot find patient with ID " + formpatientid;
}
}
public String patientSearchByName()
{
hospitalSQLEntities db = new hospitalSQLEntities();
patient mypatient = null;
List<patient> patientlist = null;
string mypatientname = Request.Params["searchpatientname"];
patientlist = db.patients.Where(u => u.patientname.Contains(mypatientname)).ToList();
if (patientlist.Count() == 0)
ViewData["message"] = "Matching name not found!";
else if (patientlist.Count() == 1)
{
mypatient = db.patients.Single(u => u.patientname.Contains(mypatientname));
ViewData["patientid"] = "" + mypatient.patientid;
ViewData["patientname"] = mypatient.patientname;
ViewData["bloodtype"] = mypatient.bloodtype;
ViewData["gender"] = mypatient.gender;
ViewData["spam"] = mypatient.spam;
ViewData["organs"] = mypatient.organs;
ViewData["address"] = mypatient.address;
ViewData["message"] = "patient " + mypatient.patientname +" found";
}
else
{
return mypatientname ;
}
return "";
}