【发布时间】:2017-04-19 09:57:17
【问题描述】:
我有一个包含下拉列表、会话[student-id]、按钮、gridview 的网页
学生将从下拉列表中选择课程并单击注册按钮,然后学生 ID 和所选课程将添加到网格视图中。
我的问题是,如果学生已经注册了这门课程,我该如何向他显示错误消息。
我的意思是,如果该学生有所选课程,我希望注册按钮检查数据库。
有什么帮助吗??
【问题讨论】:
-
显示你迄今为止尝试过的内容
我有一个包含下拉列表、会话[student-id]、按钮、gridview 的网页
学生将从下拉列表中选择课程并单击注册按钮,然后学生 ID 和所选课程将添加到网格视图中。
我的问题是,如果学生已经注册了这门课程,我该如何向他显示错误消息。
我的意思是,如果该学生有所选课程,我希望注册按钮检查数据库。
有什么帮助吗??
【问题讨论】:
只需对 btn_click 事件使用查询
int stu_id=int.Parse(stu_id.Text);
query="select stu_id from table where username='"+stu_id+"'";
if(query)
//already registered student
else
//new student
【讨论】:
有几种方法可以实现您正在寻找的东西,但是如果没有看到任何初始代码,几乎不可能准确地实现您正在寻找的东西。因此,我将向您介绍其中两种可能的方法。
在您的案例中处理重复项的第一种也是最明显的方法 将从 DropDownList 中删除所选课程 登记。这样一来,用户就无法 多次选择同一课程。 代码示例:
public void RemoveCourseByCourseID(string courseID)
{
if(courseList == null || courseList.Items.Count == 0)
return;
ListItem courseItem = courseList.Items.FindByValue(courseID);
if(courseItem == null)
return;
courseList.Remove(courseItem);
}
第二种方法是检查每一行 GridView 和 验证所选课程不存在。这是一个 您可以将其用于您自己的利益的示例代码:
public bool IsCourseExist(string courseID)
{
const int columnCourseID = 0;
foreach(DataRow row in gridView.Rows)
{
if(row[columnCourseID].ToString() == courseID)
return true;
}
return false;
}
【讨论】:
/使用 linq**/
var result = from c in dt.AsEnumerable()
c组新
{
RiskDescription2 = c.Field<dynamic>("Risk description "),
} into g
where g.Count() > 1
select new
{
g.Key.RiskDescription2,
// g.Key.Pin,
Noofrec = g.Count()
};
if (result.ToList().Count > 0)
{
lblErrMsg.Visible = true;
div_err_log.Visible = false;
lblErrMsg.Text = "Risk with same description not allowed.";
return;
}
【讨论】: