C# 如何在razor(MVC3/4)中加载Subgurim GMap对象
我正在使用ASP.NETMVC4,我正在尝试在我的页面上加载谷歌地图 我正在使用lib,并且已经有了map对象,但是我不知道如何将它加载到页面中 以下是我目前得到的信息:C# 如何在razor(MVC3/4)中加载Subgurim GMap对象,c#,asp.net-mvc,razor,subgurim-maps,C#,Asp.net Mvc,Razor,Subgurim Maps,我正在使用ASP.NETMVC4,我正在尝试在我的页面上加载谷歌地图 我正在使用lib,并且已经有了map对象,但是我不知道如何将它加载到页面中 以下是我目前得到的信息: @model Subgurim.Controles.GMap @{ ViewBag.Title = "Pesquisa Carona"; } <h2>PesquisaCarona</h2> <h4>Diga o endereço</h4> <inp
@model Subgurim.Controles.GMap
@{
ViewBag.Title = "Pesquisa Carona";
}
<h2>PesquisaCarona</h2>
<h4>Diga o endereço</h4>
<input type="text" name="txEndereco" />
<input type="submit" />
<cc1:GMap ID="googleMap" runat="server" /> <!-- This doesnt work!!!--!>
至于网页:
<cc1:GMap ID="GMap1" runat="server" Height="300px" Width="300px" />
但是有了MVC,我不能这么做
干杯 我也有同样的问题 在我的项目(使用MVC3制作)中,我在aspx引擎中添加了一个局部视图(我网站的其余部分使用razor)。我访问了subgurim教程网站。然后我添加了GoogleAPI键,但是我得到了一个灰色的矩形,即使一切看起来都正常! 然后我在谷歌上找到了这篇文章:
:(我是该项目的开发人员之一,我们正在开发一个适合MVC(Razor或其他选择的视图引擎)的新版本。我将在它准备好投入生产时更新此响应。我能够使用.NET 4.5、MVC 5(Razor)创建基本示例,GMaps 4.1.0.6和Visual Studio 2013,将ascx用户控件作为cshtml中的一部分呈现。以下是我为使其正常工作所做的:
- 从NuGet添加Subgurim.Maps包
- 添加一个ascx控件:在我的例子中,它是Gmap.ascx,与我想要使用的cshtml放在同一个文件夹中。您的代码应该如下所示:
- 在ascx中:
- 在cshtml中: @Html.Partial(“Gmap”)
- ascx中的表单标记是必需的,没有它就无法工作
- 要使用razor,该控件需要从ViewUserControl继承,而不是从UserControl继承
- 确保你有你的控制键(谷歌,商业)。有关这些的详细信息,请参阅控制网站
- 如果没有将控件与cshtml放在同一文件夹中,则需要调整指定给部分帮助器的路径
- subgurim论坛提供了关于需要表单标签和基本示例的最后一点信息
- 了解如何将ascx加载到razor视图中
- 如果我遗漏了什么,请放轻松这是我的第一个
Anker一个可能的解决方案:这个项目投入生产了吗?我不这么认为,我也不认为它会投入生产。我一段时间前就离开了这个项目,但此后没有太多活动。对不起。
<cc1:GMap ID="GMap1" runat="server" Height="300px" Width="300px" />
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Gmap.ascx.cs" Inherits="YourApp.Views.Gmap" %>
<%@ Register Assembly="GMaps" Namespace="Subgurim.Controles" TagPrefix="gmaps" %>
<form id="form1" runat="server">
<gmaps:GMap
ID="GMap1"
runat="server"
Width="500px"
Height="250px"
EnableViewState="False" />
</form>
namespace YourAPP.Views
{
using System;
using System.Drawing;
using System.Web.Mvc;
public partial class Gmap : ViewUserControl
{
protected void Page_Load(object sender, EventArgs e)
{
GMap1.enableDragging = false;
GMap1.Language = "en";
GMap1.BackColor = Color.White;
GMap1.Key = "YOUR GOOGLE KEY";
GMap1.CommercialKey="YOUR COMMERCIAL KEY";
}
}
}