[英]ASP.NET MVC 3 Razor: How to get Action URL in a Javascript string variable?
[英]How to get a razor variable (ASP .NET) in JavaScript
我想将图片发送到服务器,然后将链接复制到我的数据库中。 我正在使用Microsoft doc
razor
& Html
代码:
@{ 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.