Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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
如何使用razor语法设置javascript变量或调用函数?_Javascript_Razor_Visual Web Developer - Fatal编程技术网

如何使用razor语法设置javascript变量或调用函数?

如何使用razor语法设置javascript变量或调用函数?,javascript,razor,visual-web-developer,Javascript,Razor,Visual Web Developer,这是一个关于web编程的初学者问题。基本上,我有一个页面,使用GoogleMapAPI显示默认地址。查找“英国伦敦贝克街221B号”效果很好,但有一个文本框,我希望能够在其中写入地址,然后进行查找。这是一个cshtml页面,我知道razor的语法 @{if(IsPost) { do something }} 因此,基本上我想采用Request.Form[“FindAddress”]并将其设置为javascript myAddress变量,以便显示用户地址。但我不知道如何进行内联编码。当将IsP

这是一个关于web编程的初学者问题。基本上,我有一个页面,使用GoogleMapAPI显示默认地址。查找“英国伦敦贝克街221B号”效果很好,但有一个文本框,我希望能够在其中写入地址,然后进行查找。这是一个cshtml页面,我知道razor的语法

@{if(IsPost) { do something }}
因此,基本上我想采用
Request.Form[“FindAddress”]并将其设置为javascript myAddress变量,以便显示用户地址。但我不知道如何进行内联编码。当将IsPost条件放在javascript函数的-tag中时,它总是给我语法错误。这是完整的一页

<!DOCTYPE html>

<html>

<head id="head">
<title></title>
<link href="@Server.MapPath("~/Styles/Site.css")" rel="stylesheet" type="text/css" />
</head>
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=<YOUR_API_KEY>&sensor=false"
        type="text/javascript"></script>
<script type="text/javascript">

    var myAddress = "221B Baker Street, London, United Kingdom"; // how do I overwrite this if it is (isPost)?


    var map;
    var geocoder;
    function initialize() {
        if (GBrowserIsCompatible()) {
            map = new GMap2(document.getElementById("map"));
            map.setCenter(new GLatLng(51.5, -0.1), 10);
            map.setUIToDefault();

            geocoder = new GClientGeocoder();                   
            showAddress(myAddress);
        }
    }
    function showAddress(address) {
        geocoder.getLatLng(address, function (point) { if (!point) { alert(address + " not found"); } else { map.setCenter(point, 15); var marker = new GMarker(point); map.addOverlay(marker); marker.openInfoWindow(address); } });
    }
</script>

<body onload="initialize()" onunload="GUnload()">
    <form id="form1" runat="server">
        <div>
            <input type="text" id="FindAddress" name="FindAddress" />
        </div>
        <div id="map" style="width: 500px; height: 500px"></div>
    </form>
</body>

</html>

var myAddress=“英国伦敦贝克街221B号”//如果是(isPost),我如何覆盖它?
var映射;
var地理编码器;
函数初始化(){
if(GBrowserIsCompatible()){
map=新的GMap2(document.getElementById(“map”);
地图设置中心(新格拉特林(51.5,-0.1),10);
map.setUIToDefault();
geocoder=新的GClientGeocoder();
showAddress(我的地址);
}
}
函数showAddress(地址){
geocoder.getLatLng(地址,函数(点){if(!point){alert(地址+“未找到”);}其他{map.setCenter(点,15);var marker=new GMarker(点);map.addOverlay(标记);marker.openInfoWindow(地址);});
}

我还没有尝试下面的代码,但我希望它能起作用。基本上,我将条件检查逻辑放在脚本块之外,并将结果存储在一个变量中,该变量在javascript中引用

@{
  var address = "221B Baker Street, London, United Kingdom";

  if (Request.HttpMethod == "POST")
  {
    address = Request.Form["FindAddress"];
  }  
}

  <script type="text/javascript">

    var myAddress = "@address"; // how do I overwrite this if it is (isPost)?


    var map;
    var geocoder;
    function initialize() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        map.setCenter(new GLatLng(51.5, -0.1), 10);
        map.setUIToDefault();

        geocoder = new GClientGeocoder();
        showAddress(myAddress);
      }
    }
    function showAddress(address) {
      geocoder.getLatLng(address, function (point) { if (!point) { alert(address + " not found"); } else { map.setCenter(point, 15); var marker = new GMarker(point); map.addOverlay(marker); marker.openInfoWindow(address); } });
    }
  </script>
@{
var address=“英国伦敦贝克街221B号”;
if(Request.HttpMethod==“POST”)
{
地址=请求。表格[“FindAddress”];
}  
}
var myAddress=“@地址”//如果是(isPost),我如何覆盖它?
var映射;
var地理编码器;
函数初始化(){
if(GBrowserIsCompatible()){
map=新的GMap2(document.getElementById(“map”);
地图设置中心(新格拉特林(51.5,-0.1),10);
map.setUIToDefault();
geocoder=新的GClientGeocoder();
showAddress(我的地址);
}
}
函数showAddress(地址){
geocoder.getLatLng(地址,函数(点){if(!point){alert(地址+“未找到”);}其他{map.setCenter(点,15);var marker=new GMarker(点);map.addOverlay(标记);marker.openInfoWindow(地址);});
}