将简单的javascript代码转换为c# - javascript

昨天我在这里问了一个问题。使用javascript和html解决方案很简单

前一阵子我打算什么是操纵html来执行javascript中的任务
但是我改变了主意,将javascript代码重写为c#

这是输入

<Abstract>
    <Heading>Abstract</Heading>
    <Para TextBreak="No" >Some paragraph <Emphasis Type="Italic">q</Emphasis><Emphasis Type="Bold">Bold</Emphasis><Emphasis Type="Underline">Underline</Emphasis> </Para>

</Abstract>

但问题是我的C#输出错误?

我翻译的代码有什么问题?

这是JavaScript代码

<script type="text/javascript">
        jQuery(document).ready(function(){
textval = $('textarea').val();
textnewval = textval.replace('Para TextBreak="No"', 'p').replace('/Para', '/p'); 

  if(textnewval.indexOf('Italic') >= 0) //If Italic
{
    EmphasisAttr = 'Italic';
  textnewval = textnewval.replace('Emphasis Type="'+EmphasisAttr+'"', 'i').replace('/Emphasis', '/i'); 
}
if(textnewval.indexOf('Bold') >= 0) //If Bold
{
    EmphasisAttr = 'Bold';
  textnewval = textnewval.replace('Emphasis Type="'+EmphasisAttr+'"', 'b').replace('/Emphasis', '/b'); 
}
if(textnewval.indexOf('Underline') >= 0) //If underline
{
    EmphasisAttr = 'Underline';
    textnewval = textnewval.replace('Emphasis Type="'+EmphasisAttr+'"', 'u').replace('/Emphasis', '/u'); 
}


  $('textarea').val(textnewval);
  alert($('textarea').val());
});
    </script>

上面代码的输出是这样

  <Abstract>
    <Heading>Abstract</Heading>
    <p >Some paragraph <i>q</i><b>Bold</b><u>Underline</u> </p>

</Abstract>

这是正确的,下面是我的C#代码。并且输出错误

string result = null;
string input = textBox.Text;

result = input.Replace("Para TextBreak=\"No\"", "p").ToString().Replace("/Para", "/p");
if (result.IndexOf("Italic") >= 0)
{
    string EmphasisAttr = "Italic";
    result = result.Replace("Emphasis Type=\"" + EmphasisAttr + "\"", "i").ToString().Replace("/Emphasis", "/i");
}
 if (result.IndexOf("Bold") >= 0)
{
    string EmphasisAttr = "Bold";
    result = result.Replace("Emphasis Type=\"" + EmphasisAttr + "\"", "b").ToString().Replace("/Emphasis", "/b");
}
 if (result.IndexOf("Underline") >= 0)
{
    string EmphasisAttr = "Underline";
    result = result.Replace("Emphasis Type=\"" + EmphasisAttr + "\"", "u").ToString().Replace("/Emphasis", "/u");
}
Console.WriteLine(result);

输出:

<Abstract>
    <Heading>Abstract</Heading>
    <p >Some paragraph <i>q</i><b>Bold</i><u>Underline</i> </p>

</Abstract>

javascript大神给出的解决方案

问题是这里

result = result.Replace("Emphasis Type=\"" + EmphasisAttr + "\"", "i").ToString()
    .Replace("/Emphasis", "/i");

您将/emphasis的每个实例替换为/i。不仅是第一个,而且都是。之后,将没有/emphasis实例替换为/b/u

在JavaScript中,默认情况下,.replace仅替换匹配字符串的第一个实例。在.NET中,它替换了所有它们。

如果复选框切换复选框已选中,则在切换div中输入必填字段 - javascript

我使用脚本用JavaScript切换了一些div。如果要选中复选框以显示toogle div,我想在toogle div中设置一些“必填”输入字段。有人能弄清楚吗?那是工作吗?function show(id) { if(document.getElementById) { var mydiv = document.getElementById(id); m…

从其他文件夹访问母版页 - javascript

我认为这应该很容易但不确定如何解决。我在主文件夹中有一个名为01.aspx的页面01.aspx页应该继承products.master项目根目录存在于products.master中像下面的照片:我使用波纹管代码,但没有任何工作的JavaScript,图像和...01.aspx<%@ Page Title="" Language=&…

PHP stringID无法从回显中读入onclick - javascript

我有一个音频播放器,可以在HTML中正常工作,但是当我从PHP回显调用时,似乎没有得到div ID的名称,因此它无法播放我的音频。这是我的代码:// Show audio if ($sObj->get('audio') != null) { $sAudio = $sObj->get('audio'); $a…

在php中单击按钮添加表行并设置字段值 - javascript

我有一个表单,必须在单击按钮时添加表行。这是我必须动态添加的表行:(addProdToGroup.php)<tr style="text-align: center;" id="products"> <td><?php $j ?></td> <td><s…

淘汰赛在金字塔中的行为不正确 - javascript

我正在使用Pyramid构建一个Webapp,但是Knockout的行为有所不同。我有一个表格: <div data-bind="with: $root.itemToAdd" style="display: none;"> <form data-bind="submit: $root.add…