弄清楚问题,首先看这篇http://www.cnblogs.com/insus/archive/2011/11/08/2241255,
你可以看到博文的的2楼朋友回复使用了js技术把问题解决了,然后Insus.NET在4楼做了二个假设。
开发过程中,客户有可能不断要求,便有此两个假设。接下来,我们(有可能是另外一些程序员,不是自己)是要怎样面对不断变化的要求,让维护简单,容易与轻松。
------解决方案--------------------------------------------------------
这个东西 应该还得在数据库建表存储那些添加的 通过j做异步操作....就算以后再添加维护应该也不难吧...帮顶!!!!!
------解决方案--------------------------------------------------------
说实话个人倾向用js实现,这种东西没必要提交嘛。。。
------解决方案--------------------------------------------------------
还能再明显一点么
------解决方案--------------------------------------------------------
如果要加5个页面那就在5个页面上实现TextBoxValue接口,至于控件名称或者是函数计算出来的都在实现接口的方法中实现,这样设计没啥问题啊。用js还是session还是数据库,这个根据你自己项目实际需要吧,他们之间的区别当然显而易见
------解决方案--------------------------------------------------------
- C# code
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using Insus.NET;public partial class _Default : System.Web.UI.Page,IGetable{ protected void Page_Load(object sender, EventArgs e) { } //Insus.NET:实现接口 public string TextBoxValue { get { return this.TextBox1.Text; } }}
------解决方案--------------------------------------------------------
不好意思 理解错了
你的意思是 只是控件的Id改变 或者数据来源改变 而不是数量上的改变。
那写一个通用函数,是否能解决问题?
- JScript code
function AddItem(value) { document.getElementById("DropDownList").options.add(new Option(value, "")); }
------解决方案--------------------------------------------------------
这个还是js吧,如果要添加到数据库那就用下ajax
------解决方案--------------------------------------------------------
个人觉得 js 还是按钮提交 区别不大的吧,只是一个数据字典的管理,不能要求开发人员js水平吧
定义好自己的后台实现方式倒是应该的,开发人员自己选择js ajax还是按钮事件
瞎写的一段
- C# code
public string FormatSortDateTime(string strTime) { DateTime time = DateTime.Parse(strTime); return time.ToShortDateString(); } public static void Add(string value, Func<string, string> format) { string formatValue = format(value); //持久化 //... } public static List<string> GetList(string id) { return null; } //js的话就使用ajax调用add方法,再重新获取数据 //以下是页面按钮提交模拟 public void btnButton1_click() { var page = (IGetable)this.Page; string value = page.TextBoxValue; DataDictionaryManager.Add(value, s => s.ToLower()); //已定义的格式 DataDictionaryManager.Add(value, FormatSortDateTime); this.DataBind(); }
------解决方案--------------------------------------------------------
你既然能考虑到客户的需求,你就事先写好,然后来个动态操作不就好了!