C# 在razor视图中,如何将模型属性传递给JavaScript函数并显示返回值?

C# 在razor视图中,如何将模型属性传递给JavaScript函数并显示返回值?,c#,javascript,asp.net-mvc,razor,C#,Javascript,Asp.net Mvc,Razor,我有一个局部视图,它从父视图中的foreach循环渲染多次 我需要获取一个模型属性值(string),将其传递给javascript函数进行一些检查和可能的处理、字符串操作等,然后将该值返回到razor视图进行显示,可能使用@Html.Raw 有人能建议如何做到这一点吗?这是解决这个问题的合适方法吗(必须在客户机上完成)?谢谢。我不确定,但是,你可以试试这样的东西 <script> $(function() { var jsVar = @Model.Text; //It wo

我有一个局部视图,它从父视图中的foreach循环渲染多次

我需要获取一个模型属性值(string),将其传递给javascript函数进行一些检查和可能的处理、字符串操作等,然后将该值返回到razor视图进行显示,可能使用@Html.Raw


有人能建议如何做到这一点吗?这是解决这个问题的合适方法吗(必须在客户机上完成)?谢谢。

我不确定,但是,你可以试试这样的东西

<script>
$(function() {
    var jsVar = @Model.Text; //It works, just the editor shows an error.

    //Do your Stuff with jsVar;

    $('#txtExample').prop('value', jsVar); //write it back!
});
</script>

@Html.TextBoxFor(e => e.Text, new {id = "txtExample"})

$(函数(){
var jsVar=@Model.Text;//它可以工作,只是编辑器显示了一个错误。
//用jsVar做你的事情;
$('#txtExample').prop('value',jsVar);//写回来!
});
@Html.TextBoxFor(e=>e.Text,新的{id=“txtExample”})

检查此项,谢谢。我的解决方案必须完全由客户来完成。服务器端没有任何东西。Razor不会在客户端执行,它会生成要发送到客户端的静态html。您需要使用Javascript函数的结果更新DOM中的一个元素。请看一看这样的Javascript库,以便于实现这一点。可能是您想要的功能。当您将模型传递给视图时,您在客户端执行哪些检查?您必须认为,如果此检查会影响视图,则最好让控制器完成所有工作,视图必须只呈现传递的模型。显示一些代码