日期:2014-05-17  浏览次数:20951 次

各位大侠帮个忙。。
最近做一个项目用到自定义表单,控件自动创建的。在创建控件时顺便把控件的属性与控件的整个标签存入数据库。之后返回一个控件到设计页面。。设计完成后把整个html作为一个字段保存至数据库。例如:

string bigstr="<tr><td colspan='2'>控件名称:<input id='txtname' name='txtname' value='tt' size=38 maxlength='200'></td></tr><tr><td colspan='2'>控件名称2:<input name='txtpwd' id='txtpwd' value='cc' size=38 maxlength='200'></td></tr>";
string aa="<input name='txtname' id='txtname' value='tt' size=38 maxlength='200'>";//数据库中存储的值。
本来想在bigstr中查找 aa 然后把aa替换成想要的东西。但是aa中的属性顺序跟bigstr中对应标签中属性的顺序不一致所以没法替换,有什么好方法完成替换么。。求解。。
input string html

------解决方案--------------------
顺序不一致,不是有名称吗,你根据名称来就是了
------解决方案--------------------
 string bigstr = "<tr><td colspan='2'>控件名称:<input id='txtname' name='txtname' value='tt' size=38 maxlength='200'></td></tr><tr><td colspan='2'>控件名称2:<input name='txtpwd' id='txtpwd' value='cc' size=38 maxlength='200'></td></tr>";
            string aa = "<input name='txtname' id='txtname' value='tt' size=38 maxlength='200'>";//数据库中存储的值。
            string pattern = Regex.Replace("(?is)" + Regex.Replace(aa, @"\s+([^>\s]+)(?=\s
------解决方案--------------------
>)", "(?=[^>]*?$1)"), @">$", "[^>]+>");
            bigstr = Regex.Replace(bigstr, pattern, "替换的内容");
           
------解决方案--------------------

路过...
------解决方案--------------------
引用:
range.pasteHTML()或者谁能解决这个方法粘贴标签时里面的属性顺序不变我也给全分。。拜求各位大神。。

什么意思?
------解决方案--------------------