javascript - 相互使用 Razor 和 javascript

标签 javascript asp.net-mvc razor

我想像这样在 Razor 中使用 javascript 变量:

我的 html:

@{List<AddTempViewModel> tempsToView = new List<AddTempViewModel>();
  tempsToView = (List<AddTempViewModel>)ViewData["tempsToView"];}

@if (tempsToView != null)
{
    @foreach (var item in tempsToView)
    {
       <a class="click" id="@item.TempDocumentId">
       <img id="leftSideBarElement" src="@item.TempDocumentAddressUrl" />
       </a><br />
    }
<form method="post" action="">
   <input id="documentNumber" class="form-control" type="text" name=""  
     placeholder="Email" />
 </form>

和我的脚本:

<script>

    $(document).ready(function () {
        $(".click").click(function () {
            var divID = $(this).attr('id');
            alert(divID);
            var docName = @tempsToView[divID].TempDocumentId
            $("#documentNumber").val(docName);
        });
    });
</script>

但我无法使用 divID 设置 @tempsToView 的索引。 请帮我做什么,除了这个。 谢谢。

最佳答案

您不能根据 JavaScript 中发生的事情设置 Razor 变量。 Razor 在服务器端运行,而 JavaScript 在所有 Razor 已经运行之后在客户端运行。

关于javascript - 相互使用 Razor 和 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31166402/

相关文章:

javascript - 将对象引用传递给 vuejs 组件

javascript - 为什么 WebRTC 仅在第二次提供后才建立连接?

C# .Net 从表单帖子中读取字符串输入

asp.net - 在 ASP.NET MVC 中提供 favicon.ico

c# - 为什么 .NET MVC 4 从 GET 查询字符串而不是模型联编程序中获取值

javascript - 将 PHP var 传递给 js 函数

javascript - 响应式 Adwords 广告

sql - 如何使用EF 6.0中的代码优先方法从sql表中删除列?

c# - 使用 RSS SyndicatedFeed api 渲染 pubDate

html - 获取 HTML/cshtml 中的 URL