日期:2014-05-18  浏览次数:20614 次

假设成立之后,是使用js,还是使用interface接口,还是...
弄清楚问题,首先看这篇http://www.cnblogs.com/insus/archive/2011/11/08/2241255.html,
你可以看到博文的的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();
        }

------解决方案--------------------
你既然能考虑到客户的需求,你就事先写好,然后来个动态操作不就好了!