代码改变世界

HTML代码转JS|C#字符串工具(附源代码)

2012-11-16 13:28  苏飞  阅读(5844)  评论(12编辑  收藏  举报

源码下载请大家到我的个人博客上下载,下载地址:http://www.sufeinet.com/thread-1164-1-1.html

最近使用Ajax调用数据时,由于很多页面信息需要使用对接字符串的功能,不仅仅是JS代码里面需要,C#代码里有时候也需要。
如下代码

var sb="<tr bgcolor=\"#F9F9F9\">";
 sb=sb+"                    <td height=\"34\" align=\"center\" valign=\"middle\">";
 sb=sb+"                        <input type=\"checkbox\" name=\"checkbox\" value=\"checkbox\" />";
 sb=sb+"                    </td>";
 sb=sb+"                    <td height=\"34\" align=\"center\" valign=\"middle\">";
 sb=sb+"                        1";
 sb=sb+"                    </td>";
 sb=sb+"                    <td height=\"34\" align=\"center\" valign=\"middle\">";
 sb=sb+"                        578257";
 sb=sb+"                    </td>";
 sb=sb+"                    <td height=\"34\" align=\"center\" valign=\"middle\">";
 sb=sb+"                        普?通?用?户§";
 sb=sb+"                    </td>";
 sb=sb+"                    <td height=\"34\" align=\"center\" valign=\"middle\">";
 sb=sb+"                        56500000";
 sb=sb+"                    </td>";
 sb=sb+"                    <td height=\"34\" align=\"center\" valign=\"middle\">";
 sb=sb+"                        jay8047";
 sb=sb+"                    </td>";
 sb=sb+"                    <td height=\"34\" align=\"center\" valign=\"middle\">";
 sb=sb+"                        587528";
 sb=sb+"                    </td>";
 sb=sb+"                    <td height=\"34\" align=\"center\" valign=\"middle\">";
 sb=sb+"                        2012-12-12 01:12:58";
 sb=sb+"                    </td>";
 sb=sb+"                    <td height=\"34\" align=\"center\" valign=\"middle\">";
 sb=sb+"                        <a href=\"#\">";
 sb=sb+"                            <img src=\"images/bianji.gif\" alt=\"\" title=\"\"></a> <a href=\"#\">";
 sb=sb+"                                <img src=\"images/laji.gif\" alt=\"\" title=\"\"></a>";
 sb=sb+"                    </td>";
 sb=sb+"                </tr>";

大家都知道这是‘JS对接生成的Html代码,如果你手动一个一个来的话,我估计一次还行,次数多了肯定会手痛的,
而且维护起来比较麻烦。
还不一定能保持代码的结构感
我也是因为这些吧,才想起来写个工具出来,方便转化
首先我们新建一个Winfrom的程序
在上面拉几个控件如下如

我们分别把两radioButton的CheckedChanged事件处理如下

   //htmltoC#
        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            if (htmltocsharp.Checked)
            {
                richTextBox1_TextChanged(sender, e);
            }
        }

        //htmltojs
        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            if (htmltojs.Checked)
            {
                richTextBox1_TextChanged(sender, e);
            }
        }

对我让他们分别调用第一个richTextBox的TextChanged事件
那再一起来看看richTextBox的TextChanged事件吧。

 private void richTextBox1_TextChanged(object sender, EventArgs e)
        {
            StringBuilder sb = new StringBuilder();
            string name = string.Empty;
            try
            {
                name = ((RadioButton)sender).Name.Trim();
            }
            catch (Exception)
            {
                name = "htmltojs";
            }
            if (name == "htmltojs")
            {
                sb.Append("var sb=\"" +
                    richTextBox1.Text.Trim().Replace("\"", "\\\"").Replace("\r\n", "\n").Replace("\n", "\";\r\n sb=sb+\"")
                    + "\";");
            }
            else
            {
                sb.Append(" StringBuilder sb = new StringBuilder();\r\n");
                sb.Append(" sb.Append(\"" +
                   richTextBox1.Text.Trim().Replace("\"", "\\\"").Replace("\r\n", "\n").Replace("\n", "\");\r\n sb.Append(\"")
                   + "\");");
            }
            richTextBox2.Text = sb.ToString();
        }

其实也没有多少代码
我们只是处理一下Html标记就行了,
方法都在上面了,大家看看效果吧
htmlToJS

下面是htmltoC#

好了完成了,我把写的项目打包提供给大家下载
大家也可以提提建议,我以后会随着使用进行修改。
现在已经可以满足我的使用了。
分享出来大家多提建议哦。