使用jQuery更改变量的内容?

时间:2018-10-02 17:37:16

标签: c# jquery sitecore-mvc

我目前正在与Sitecore MVC项目一起工作,其中在理解如何更改模型方面存在一些问题,该模型目前使用jQuery动态地由string techstring add组成。

我的想法是拥有这样的索引文件

var global_var1 = "";
var global_var2 = "";

<div class = "upper">
    <div class= "tech_field" >
    @Model.tech = global_var1
    </div>
    <div class= "add_field" >
    @Model.add = global_var2
    </div>
</div>

然后使用jQuery做类似

$('upper').find('tech_field')  

但是我如何准确地修改值或变量,我知道如何找到包含值但不包含确切变量的div

1 个答案:

答案 0 :(得分:0)

@Model是仅在生成页面时在服务器端定义的变量。在浏览器的客户端,您无权访问服务器端变量。

@Model.tech在页面中的该位置呈现技术属性值。

所以这段代码:

<div class= "tech_field" >
@Model.tech = global_var1
</div>

如果@Model.tech包含“技术财产的内容”,将呈现此内容:

<div class= "tech_field" >
Content of the tech property = global_var1
</div>

如果您想使用JavaScript来呈现模型属性值,可以这样做:

<script>
    // Sets JavaScript variables with the content of server-side model property values
    var model_tech = "@Model.tech";
    var model_add = "@Model.add";
</script>

<div class="upper">
    <div class="tech_field"></div>
    <div class="add_field"></div>
</div>

<script>
    $('.tech_field').text(model_tech); // Sets the DOM element value to the content of the JavaScript variable
    var techValueFromDom = $('.tech_field').text(); // Reads the DOM to read the text.
</script>

但是,没有简单的方法可以调用Sitecore来从JavaScript代码更新存储在Sitecore项目中的数据。