在WebForm上进行拖拽
2010-09-30 21:09:28 来源:WEB开发网上面是javascript脚本的部分。其余部分是在数据库中存储控件的位置。在每次回发之间检索控件的位置,让用户不能看见回发,我必须使用ajax。最重要的是Page_LoadComplete处理。
代码
conn.Open();
selectString = "SELECT * FROM tblxy";
cmd = new OleDbCommand(selectString, conn);
reader = cmd.ExecuteReader();
while (reader.Read())
{
TextBox textBox = new TextBox();
textBox.ID = reader["Id"].ToString();
textBox.Text = reader["Name"].ToString();
textBox.Style.Value = "left: " + reader["xpos"] + "px; position: absolute; top: " + reader["ypos"] + "px";
textBox.CssClass = "drag";
textBox.Attributes.Add("onmousedown", "whichElement(event)");
textBox.Attributes.Add("onmouseup", "mymouseup(event)");
myPlaceHolder.Controls.Add(textBox);
}
reader.Close();
conn.Close();
我们在这里做的是,网站每次回发的时候,我们读取数据库。在运行时创建控件。在数据库中,控件的ID对应数据库的id字段。控件的Text对应数据库的 Name字段,然后我们设置属性的样式。最重要的样式属性是position: absolute,添加我们拖动拖动属性,onmousedown 和 onmouseup。将textbox添加到页面的位置和数据库中存储的位置一致。
剩余的代码是常见的SQL的read, insert, update 和delete操作。我们使用JavaScript 传递id, x 和 y的值给textbox。分割textbox的文本,使用SQL的update 和delete命令将他们更新到到数据库中。
这个程序目前只能在IE中运行,不能在FireFox运行,我也没有在其它浏览器中测试过。有兴趣朋友可以一起完善它。
出处:http://zhuqil.cnblogs.com
更多精彩
赞助商链接