Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用JS函数在我的视图中显示ViewBag的值?_Javascript_Jquery_Asp.net Mvc_Viewbag - Fatal编程技术网

Javascript 如何使用JS函数在我的视图中显示ViewBag的值?

Javascript 如何使用JS函数在我的视图中显示ViewBag的值?,javascript,jquery,asp.net-mvc,viewbag,Javascript,Jquery,Asp.net Mvc,Viewbag,我想用Javascript在我的视图中显示ViewBag中的数据。这是我的密码 看法 调用myFunction()时,我得到文本@ViewBag.Test,但不是他的值。如何修复此问题?您需要将获取@ViewBag.Test值的JavaScript放在Razor视图引擎解释的页面中。我的猜测是,目前情况并非如此 如果希望将javascript代码库与视图分开(这是完全合理的),可以使用全局变量: // in the view: var testText = '@ViewBag.Test'; /

我想用Javascript在我的视图中显示ViewBag中的数据。这是我的密码

看法


调用
myFunction()
时,我得到文本
@ViewBag.Test
,但不是他的值。如何修复此问题?

您需要将获取
@ViewBag.Test
值的JavaScript放在Razor视图引擎解释的页面中。我的猜测是,目前情况并非如此

如果希望将javascript代码库与视图分开(这是完全合理的),可以使用全局变量:

// in the view:
var testText = '@ViewBag.Test';

// in external js
function myFunction() {
    $('#test').text(window.testText);
}
或者,您可以使用
数据-*
属性:

<span id='test' data-text="@ViewBag.Test"></span>

您需要将获取
@ViewBag.Test
值的JavaScript放在Razor视图引擎解释的页面中。我的猜测是,目前情况并非如此

如果希望将javascript代码库与视图分开(这是完全合理的),可以使用全局变量:

// in the view:
var testText = '@ViewBag.Test';

// in external js
function myFunction() {
    $('#test').text(window.testText);
}
或者,您可以使用
数据-*
属性:

<span id='test' data-text="@ViewBag.Test"></span>

理想情况下,您应该使用视图模型将数据传递给视图。具有存储要传递的值的属性。例如让我们考虑一个显示客户详细信息的页面,您希望在javascript变量中获得姓氏

你的行动方法

public ActionResult View(int id)
{
  var vm=new CustomerViewModel(); 
  vm.LastName="Scott"; // You may read this from any where(DAL/Session etc)
  return View(vm);
}
在视图中,它是视图模型的强类型

@model CustomerViewModel
<div>    
   Some Html content goes here
</div>
<script type="text/javascript">      
   var lastName="@Model.LastName";
   //Now you can use lastName variable
</script>
@model客户服务模型
这里有一些Html内容
var lastName=“@Model.lastName”;
//现在可以使用lastName变量了
编辑:(根据问题编辑)要显示某个事件的内容(例如:单击某个按钮),首先将该值存储在某个位置,然后根据需要读取该值,并将其设置在任何需要的位置

@model CustomerViewModel
<div>    
    <span id="content"></span>
    @Html.HiddenFor(s=>s.LastName)
    <input type="button" id="btnShow" value="Show content" />
</div>
<script type="text/javascript">  
   $(function(){

      $("btnShow").click(function(e){
         $("#content").html($("#LastName").val());
      });

   }); 

</script>
@model客户服务模型
@Html.HiddenFor(s=>s.LastName)
$(函数(){
$(“btnShow”)。单击(函数(e){
$(“#content”).html($(“#LastName”).val());
});
}); 

理想情况下,您应该使用视图模型将数据传递给视图。具有存储要传递的值的属性。例如让我们考虑一个显示客户详细信息的页面,您希望在javascript变量中获得姓氏

你的行动方法

public ActionResult View(int id)
{
  var vm=new CustomerViewModel(); 
  vm.LastName="Scott"; // You may read this from any where(DAL/Session etc)
  return View(vm);
}
在视图中,它是视图模型的强类型

@model CustomerViewModel
<div>    
   Some Html content goes here
</div>
<script type="text/javascript">      
   var lastName="@Model.LastName";
   //Now you can use lastName variable
</script>
@model客户服务模型
这里有一些Html内容
var lastName=“@Model.lastName”;
//现在可以使用lastName变量了
编辑:(根据问题编辑)要显示某个事件的内容(例如:单击某个按钮),首先将该值存储在某个位置,然后根据需要读取该值,并将其设置在任何需要的位置

@model CustomerViewModel
<div>    
    <span id="content"></span>
    @Html.HiddenFor(s=>s.LastName)
    <input type="button" id="btnShow" value="Show content" />
</div>
<script type="text/javascript">  
   $(function(){

      $("btnShow").click(function(e){
         $("#content").html($("#LastName").val());
      });

   }); 

</script>
@model客户服务模型
@Html.HiddenFor(s=>s.LastName)
$(函数(){
$(“btnShow”)。单击(函数(e){
$(“#content”).html($(“#LastName”).val());
});
}); 

首先确保您的
ViewBag.Test
获得值,然后使用
div
标记而不是
span
并添加以下代码:

<script type="text/javascript">
    $(document).ready(function () {
        StartRead();
    });

    function StartRead() {
        document.getElementById("test").innerHTML = '@ViewBag.Test';
    }
</script>

$(文档).ready(函数(){
星纹();
});
函数StartRead(){
document.getElementById(“test”).innerHTML='@ViewBag.test';
}

首先确保您的
ViewBag.Test
获得值,然后使用
div
标记而不是
span
并添加以下代码:

<script type="text/javascript">
    $(document).ready(function () {
        StartRead();
    });

    function StartRead() {
        document.getElementById("test").innerHTML = '@ViewBag.Test';
    }
</script>

$(文档).ready(函数(){
星纹();
});
函数StartRead(){
document.getElementById(“test”).innerHTML='@ViewBag.test';
}

谢谢您提供这些详细信息。没问题,很乐意帮助谢谢您提供这些详细信息。没问题,很乐意帮助