繁体   English   中英

如何在JavaScript中获取剃刀变量(ASP .NET)

[英]How to get a razor variable (ASP .NET) in JavaScript

我想将图片发送到服务器,然后将链接复制到我的数据库中。 我正在使用Microsoft doc razorHtml代码:

@{  WebImage photo = null;
    var newFileName = "";
    var imagePath = "";
    var myPath = "DefaultPath";

    if(IsPost){
        photo = WebImage.GetImageFromRequest();
        if(photo != null){
            newFileName = Guid.NewGuid().ToString() + "_" +
                Path.GetFileName(photo.FileName);
            imagePath = @"images/" + newFileName;

            photo.Save(@"~/" + imagePath);
            myPath= "/" + imagePath;
        }
    }
}



<!DOCTYPE html>
<html>
<head>
  <title>Image Upload</title>
</head>
<body>
  <form action="" method="post" enctype="multipart/form-data">
    <fieldset>
      <legend> Upload Image </legend>
      <label for="Image">Image</label>
      <input type="file" name="Image" />
      <br/>
      <input type="submit" value="Upload" />
    </fieldset>
  </form>
  <h1>Uploaded Image</h1>
    @if(imagePath != ""){
    <div class="result">
        <img src="@myPath" alt="image" />
    </div>

    <div id="toJavaScript">@myPath</div>
    }
</body>
</html>

该代码运行良好:单击后,将显示图像。 但是我的目标是将变量@myPath放入JavaScript

最后一个div包含@myPath ,在单击上传后(由于刷新),它会正确显示。 但是在JavaScript中,当我这样做时:

var ImageRootText = document.getElementById("toJavaScript").textContent;

我只得到默认值"DefaultPath" 那么您是否知道上传后如何获得价值? 感谢您的阅读。

(此外,仅在上传点击后显示图片,如果我再刷新一次, @myPath将会丢失...)

但我的目标是将变量@myPath导入JavaScript

您可以像这样在javascript变量中获取razor变量值:

<script>
     var myPath = "@myPath.ToString()";
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM