相关疑难解决方法(0)

在JavaScript中使用Razor

在view(cshtml)中的JavaScript中使用Razor语法是否可行或有解决方法?

我正在尝试将标记添加到Google地图中...例如,我试过这个,但是我收到了大量的编译错误:

<script type="text/javascript">

    // Some JavaScript code here to display map, etc.

    // Now add markers
    @foreach (var item in Model) {

        var markerlatLng = new google.maps.LatLng(@(Model.Latitude), @(Model.Longitude));
        var title = '@(Model.Title)';
        var description = '@(Model.Description)';
        var contentString = '<h3>' + title + '</h3>' + '<p>' + description + '</p>'

        var infowindow = new google.maps.InfoWindow({
            content: contentString
        });

        var marker = new google.maps.Marker({
            position: latLng,
            title: title,
            map: map,
            draggable: false
        });

        google.maps.event.addListener(marker, 'click', function () { …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-mvc razor

419
推荐指数
10
解决办法
35万
查看次数

ASP.NET MVC:如何将View Model转换为Json对象

我是.NET新手的Java开发人员.我正在开发.Net MVC2项目,我希望有一个局部视图来包装一个小部件.每个JS小部件对象都有一个JSON数据对象,该对象将由模型数据填充.然后,更新此数据的方法绑定到在窗口小部件中更改数据时的事件,或者如果在另一个窗口小部件中更改了该数据.代码是这样的.

myController的

virtual public ActionResult DisplaySomeWidget(int id) {
  SomeModelView returnData = someDataMapper.getbyid(1);

  return View(myview, returnData);
}
Run Code Online (Sandbox Code Playgroud)

myview.ascx

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<SomeModelView>" %>

<script type="text/javascript">
  //creates base widget object;
  var thisWidgetName = new Widget();

  thisWidgetName.updateTable = function() {
    //  UpdatesData
  };
  $(document).ready(function () {
    thisWidgetName.data = <% converttoJSON(model) %>
    $(document).bind('DATA_CHANGED', thisWidgetName.updateTable());
  });
</script>

<div><%:model.name%></div>
Run Code Online (Sandbox Code Playgroud)

我不知道的是如何通过SomeModelView发送数据,然后能够使用它来填充小部件以及将其转换为Json.我似乎有一些真正简单的方法在控制器中执行它而不是在视图中.我认为这是一个基本问题,我已经花了几个小时试图制作这个光滑的.

.net javascript asp.net-mvc json

153
推荐指数
4
解决办法
20万
查看次数

JavaScriptSerializer UTC DateTime问题

我们的客户希望在浏览器中显示日期和时间值,就像它们在数据库中一样,我们将它们作为UTC存储在数据库中.

起初我们在序列化和Javascript方面遇到了一些问题.DateTime值被移动了两次 - 首先匹配机器的本地时区,然后匹配浏览器中的时区.我们通过向JavaScriptSerializer添加自定义转换器来修复它.我们在Serialize覆盖中将DateTime标记为DateTimeKind.Utc.从Serialize中提取数据有点困难,但是我们发现了一些Uri hack,这有助于在相同的JavaScriptSerializer/Date(286769410010)/格式中返回DateTime值,但没有转移到本地时间.在Javascript方面,我们修补了KendoUI JS库来偏移构造的Date()对象,使它们看起来好像是UTC.

然后我们开始在另一方面工作,反序列化.同样,我们必须调整我们的代码以使用自定义stringify而不是JSON.stringify,这会在从本地时间转换为UTC时再次抵消数据.到目前为止,一切似乎都很好.

但看看这个测试:

    public void DeserialiseDatesTest()
    {
        var dateExpected = new DateTime(1979, 2, 2,
            2, 10, 10, 10, DateTimeKind.Utc);

        // this how the Dates look like after serializing
        // anothe issue, unrelated to the core problem, is that the "\" might get stripped out when dates come back from the browser
        // so I have to add missing "\" or else Deserialize will break
        string s = "\"\\/Date(286769410010)\\/\"";

        // this get deserialized to UTC date …
Run Code Online (Sandbox Code Playgroud)

.net datetime utc javascriptserializer

13
推荐指数
1
解决办法
2万
查看次数

如何在asp.net MVC4中将模型从视图传递到javascript

我是asp.net MVC4的新手,请耐心等待.

我有一个控制器,它返回一个模型的ActionResult.我可以通过Razor使用这个模型,但我想在JavaScript中使用它.这是我根据互联网上的一些答案试图做的事情:

@{
var property = Model;
}
var prop = @(property);
var data= @Html.Raw(Json.Encode(prop ));
Run Code Online (Sandbox Code Playgroud)

但它不起作用.为了将我的模型传递给JavaScript,我需要做什么?

javascript razor asp.net-mvc-4

2
推荐指数
1
解决办法
1万
查看次数

将C#模型从View传递到Javascript

我将此ViewModel传递给我的视图:

  public class DashboardViewModel
  {
    public List<UserTask> UserTasks {get; set;}

    public List<WorkItem> WorkItems {get; set;}
  }    
Run Code Online (Sandbox Code Playgroud)

从视图中,我像这样遍历WorkItems:

 @foreach (var item in Model.WorkItems)
 {
    @item.Name
    @item.HoursLogged
    <button value="@item">UPDATE</button>
 }
Run Code Online (Sandbox Code Playgroud)

当我单击按钮时,jQuery函数正在打开模式。

我需要将该项目传递给模式,以显示所有项目信息。

这是javascript函数:

$(buttonEl).click(function () {
   //code to open modal
   var item = this.value;
});
Run Code Online (Sandbox Code Playgroud)

在“ this.value”中传递的值不是对象,而是带有WorkItem命名空间的字符串。

我也尝试使用内联onclick函数:

<button onclick="openModal('@item')">UPDATE</button>
Run Code Online (Sandbox Code Playgroud)

但结果相同。

任何的想法?

javascript c# asp.net-mvc model razor

1
推荐指数
1
解决办法
6690
查看次数