代码改变世界

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

  苏飞  阅读(5866)  评论(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#

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

 

(评论功能已被禁用)
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示