我写了以下代码,但是不起作用,不知道为什么
public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { HttpPostedFile p; if (Request.QueryString["type"] == "true") { ViewState["a"] = '5'; } if (!Page.IsPostBack) { System.Data.DataSet ds = new System.Data.DataSet(); System.Data.DataTable dataTable1 = new System.Data.DataTable("BlogUser"); System.Data.DataRow dr; dataTable1.Columns.Add(new System.Data.DataColumn("UserId", typeof(System.Int32))); dataTable1.Columns.Add(new System.Data.DataColumn("UserName", typeof(System.String))); for (int i = 0; i < 8; i++) { dr = dataTable1.NewRow(); dr[0] = i; dr[1] = "【孟子E章】" + i.ToString(); dataTable1.Rows.Add(dr); } ListView1.DataSource = dataTable1; ListView1.DataBind(); } } protected void Button1_Click(object sender, EventArgs e) { String UserId = ""; for (int i = 0; i < ListView1.Items.Count; i++) { CheckBox chktemp = ListView1.Items[i].FindControl("CheckBox1") as CheckBox; if (chktemp != null && chktemp.Checked == true) { UserId += ListView1.DataKeys[i].Value + ","; } if (i == 4) { ViewState["a"] = '1'; Response.Write("<script>location.href='Default.aspx?type='+confirm('该学生此学科成绩已存在,是否覆盖此成绩?');</script"); if (Request.QueryString["type"] == "true") { Response.Write(ViewState["a"].ToString()); } } } Page.ClientScript.RegisterStartupScript(Page.GetType(), "x", "alert('有选中 id=" + UserId + "')", true); } }
同意,建议你使用AJAX去实现,会比较容易些
给个例子吧
使用Jquery脚本:
$("#Button1").click(function() {
$.ajax({
type: "post",
url: "Login.ashx", //为判断成绩是否存在的一般处理程序
data: { //传入参数 【参数名:参数值】 如:
par1: “username1”,
par2: "username2"
},
success: function(data, status) {
var types = data;
if (types.toString() == "1" ) {//如返回1时表示成绩存在
if(!confirm("该学生此学科成绩已存在,是否覆盖此成绩?"))
{ return false; }
}
}
});
});
Jquery脚本不懂呀,有没有javascript 的例子呢 @白雲天:
有一个更简单的方法,用js/jquery循环进行判断就好
1.通过程序获取该学生已存在成绩的所有学科信息,并将学科编号用分隔符组成一个字段串。
2.在页面中添加一个hid1控件,将上面组成的字段串值赋值给这个hid1的value。
3.在页面中添加一个hid2控件,将该学生选择的学科编号赋值给这个hid2的value.
3.用脚本获取这个hid1控件的value,并通过分隔符进行分隔循环,在循环中和hid2的value判断对比,如果有相同的,则进行提示:confirm("该学生此学科成绩已存在,是否覆盖此成绩?") ,如果操作值为false,则不执行单击事件中的方法。
定义一个脚本 function Check(){ for(..){if(!confirm(...)){return false;}}}
在提交控件html代码中加入:OnClick="return Check()" ,就OK了
这样应该简单多了吧
我们是重名,人事资料有好几万数据,没办法在客户端进行比对,一定要通过后台进行比对了 @白雲天:
我的邮件是380151700@qq.com,能不能帮忙做一个例子发给我一下,谢谢,万分感谢@白雲天:
请问楼主你这个代码,选择是或者否,有什么区别吗?
当用户选择是的时候,就添加, 当用户选择否的时候,就取消任何操作.
@zhengyingcan: 实际上你的代码写的应该是一点效果都没有
winform编程下有对话框,如果是web编程的话,只能借助js来实现 。Jquery中提供了很多对话框,你可以看一下。
在那里看呢