C# 在ASP.NET MVC视图中编辑显示的文本而不提交表单

C# 在ASP.NET MVC视图中编辑显示的文本而不提交表单,c#,asp.net-mvc-5,C#,Asp.net Mvc 5,在我的ASP.NET MVC编辑视图中,我有一个EditorFor(@id=“Desc”),其中包含全部或大部分大写文本。我需要为我的用户提供一种方法来单击一个按钮,该按钮将转换并以正常的句子大小写显示该文本(仅每个句子的第一个字母大写),而无需实际将表单提交到Edit post方法(从而在用户有机会审查和批准之前保存更改) 到目前为止,我找到的解决方案都会导致表单被提交,这绝对不是我想要的。我猜有一个jQuery解决方案,它只会更新显示而不提交表单,但我不确定它是什么或如何实现它 任何帮助都将

在我的ASP.NET MVC编辑视图中,我有一个EditorFor(@id=“Desc”),其中包含全部或大部分大写文本。我需要为我的用户提供一种方法来单击一个按钮,该按钮将转换并以正常的句子大小写显示该文本(仅每个句子的第一个字母大写),而无需实际将表单提交到Edit post方法(从而在用户有机会审查和批准之前保存更改)

到目前为止,我找到的解决方案都会导致表单被提交,这绝对不是我想要的。我猜有一个jQuery解决方案,它只会更新显示而不提交表单,但我不确定它是什么或如何实现它


任何帮助都将不胜感激。请让我知道,如果我需要提供额外的信息谢谢

您可以使用JS将文本放入div,然后只需应用文本转换:大写

听起来您需要这样的东西:

@Html.TextAreaFor(x => x.Body);
<button id="ConvertBodyCase" type="button">Convert Body</button>

<script type="text/javascript">

    function capitalizeFirstLetter(string) {
        return string.charAt(0).toUpperCase() + string.slice(1);
    }

    $(function() {
        $("#ConvertBodyCase").click(function() {
            var $body = $("#Body");
            var text = $body.val();
            $body.val(capitalizeFirstLetter(text));
        });
    });
</script>

如果要将其连接到按钮,可以使用类似以下内容:

@Html.TextAreaFor(x => x.Body);
<button id="ConvertBodyCase" type="button">Convert Body</button>

<script type="text/javascript">

    function capitalizeFirstLetter(string) {
        return string.charAt(0).toUpperCase() + string.slice(1);
    }

    $(function() {
        $("#ConvertBodyCase").click(function() {
            var $body = $("#Body");
            var text = $body.val();
            $body.val(capitalizeFirstLetter(text));
        });
    });
</script>
@Html.TextAreaFor(x=>x.Body);
转化体
函数首字母大写(字符串){
返回string.charAt(0.toUpperCase()+string.slice(1);
}
$(函数(){
$(“#ConvertBodyCase”)。单击(函数(){
var$body=$(“#body”);
var text=$body.val();
$body.val(大写第一个字母(文本));
});
});

好的,我试过了。两个问题:标题大小写将每个单词大写。我只想把句子的第一个字大写。另外,单击按钮提交我不希望发生的表单。我只想更改文本区域中显示的文本。“谢谢。”梅特普修改了答案。按钮提交表单的原因是它缺少“type”属性,导致默认情况下它的行为类似于提交按钮。Javascript代码已被修改为将字符串的第一个字符大写。如果您想让代码处理多个句子,并且只大写每个句子的第一个字母,那么您必须自己做一些工作,尽管这在客户端Javascript中不容易实现。