如何通过后台在页面中动态添加页面控件(且能交互读值,包括postfile控件并能上传)
偶遇到一辣手问题,我要根据数据库动态在客户端添加多种类型的控件(input textbox,radio,dropdownlist,etc).
思路基本上有两种:
(1)写一个方法生成html,然后通过js在客户端填充;
问题:页面一刷新,控件全丢,要重新添加。然后控件的值也要重新添加。
所以当页面postback时,要首先通过js将控件值保存在预设的服务端控件里,到服务端之后在保存处理!
处理起来比较烦琐!最致命的是postfile控件是不能赋值的,所以不好上传。:(
(2)用render方法;
动态生成控件并放到placeholder控件中,这时页面刷新后控件值也是不能保存的。但对此方法还只有初步认识!
不知道哪位大侠曾实践过或有独家经验!
请指教!谢谢!
相关推荐
PostFile.rar 文件管理
练习
asp.net下文件上传和文件删除的代码
asp.net下文件上传和文件删除的代码
C#/.NET uploadify/js跨域异步上传文件,上传文件项目用mvc做,支持多文件上传
C#/.NET js跨域异步上传文件。前端用js异步做利用uploadify这个js库,上传部分在另一个mvc项目中 从而实现跨域上传文件。支持多文件上传 上传部分稍微修改同样适用不是mvc项目,很简单的改动。 代码详细,简单易懂
C#实现AJAX 上传文件,图片,音乐,
非传统ajax上传,实现更方便,使用更方便,二次修改更方便
uploadfile上传图片
.cs 界面代码 using System; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.IO; public partial class _Default : System.Web.UI.Page { string name="b";//根据需要给上传的图片命名 int minsize=1;//上传文件的最低大小,单位kb int maxsize=1000;//上传文件的最大大小,单位kb protected void Page_Load(object sender, EventArgs e) { } protected void upload_Click(object sender, EventArgs e) { string fileName, fileExtension, FullName; if (UpImage.PostedFile != null) { if (UpImage.PostedFile.ContentLength != 0 && UpImage.PostedFile.ContentLength = (1024 * minsize)) { fileName = System.IO.Path.GetFileName(UpImage.PostedFile.FileName); fileExtension = System.IO.Path.GetExtension(fileName); if (IsExtension(fileExtension)) { try { FullName = name; CreateDir("upLoadImg"); FullName = DateTime.Now.ToString("yyyyMM") + "/" + FullName; UpImage.PostedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath(@"UpFiles/upLoadImg/") + FullName); } catch (Exception ex) { Response.Write("alert('" + ex.Message + "');"); } } else { Response.Write("alert('上传的文件格式不对,请上传指定的文件格式!');"); } } else { Response.Write("alert('没有上传文件,或者文件太大!请重新上传!');"); } } }


