相关疑难解决方法(0)

Razor语法和Javascript

作为测试我正在转换我们从Web Forms写到Razor的概念验证应用程序,只是为了我们可以评估它.

到目前为止,我遇到了一个问题,即让我头疼...生成客户端Javascript ...

web的表单

<script type="text/javascript">
    var jqGridIdList = "<%: Url.Action ("getidlist", "office", new { area = "reports" }) %>";

    var availableIds = [];
    <% for (var i = 0; i < Model.Data.Count (); i++) { %>
    availableIds.push({ value : "<%: Model.Data.ElementAt (i).Text %>", label : "<%: Model.Data.ElementAt (i).Text %>" });
    <% } %>
</script>
Run Code Online (Sandbox Code Playgroud)

剃刀语法

<script type="text/javascript">
    var jqGridIdList = "@Url.Action("getidlist", "office", new { area = "reports" })";

    var availableIds = [];
    @for(var i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

javascript razor asp.net-mvc-3

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

Asp.net mvc将C#对象传递给Javascript

我有c#class say更像AjaxOptions的选项.

public class options
{
   public string Url {get;set;}
   public string httpMethod {get;set}
}
Run Code Online (Sandbox Code Playgroud)

和这样的javascript函数

function dosomething(obj)
{
   if (obj.Url!="" and obj.HttpMethod=="something")
    loadsomething();

}
Run Code Online (Sandbox Code Playgroud)

现在在我的Controller动作中

 public class mycontroller : controller
 {
    public ActionResult WhatToDo()
    {
       options obj = new options{Url="someurl"};
       return PartialView(obj);
    }


 }
Run Code Online (Sandbox Code Playgroud)

在我看来,我需要这个对象类型的字符串,我应该能够传递给我的方法.

@model options

<script>
   dosomething(@model.SomeFunctionToConverToString())

</script>
Run Code Online (Sandbox Code Playgroud)

所以我需要这个SomeFunctionToConverToString方法,我将这个对象转换为字符串.

谢谢

javascript asp.net-mvc object

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

如何在脚本标记中获取模型或Viewbag变量

Vs'12 asp.net C#MVC4 - Int.Appl.Template EF Code First

这是我的非常简单 Script

<script class="TractsScript">

     $('#Add').click(function (e) {

         var val = @ViewBag.ForSection;
         alert(val);

     });
</script>
Run Code Online (Sandbox Code Playgroud)

根据例子,我想简单地在我script或USE中设置变量a Viewbag.Model.

我无法在以下任何论坛中找到答案:StckTrace1,StackTraceBetterAnswer

我试过的其他事情:

var model = @Html.Raw(Json.Encode(Model))
alert(model.Sections);
alert(@ViewBag.ForSection);
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery razor asp.net-mvc-4

19
推荐指数
3
解决办法
10万
查看次数

如何在剃刀中创建一个javascript字符串

我看过一些关于这个主题和一些博客的帖子,但似乎都没有提到我得到的输出.

我想要的是生成一个包含它的信息的谷歌地图.手动输入信息会产生正确的信息.这部分是有效的.

我遇到困难的地方是当我要动态地创建带有我想要的信息的字符串的javascript数组.

我想得到的HTML代码是:

<script type="text/javascript">     
    var projects = [
         ['Kantoor 4.1 bestaande bouw', 52.25446, 6.16024700000003, 'Deventer', '', 'adviseurs', 'rating30'],
         ['School nieuw 4.0', 52.243161, 4.43677860000003, 'Noordwijk', '', 'adviseurs', 'rating30'],   
    ];
Run Code Online (Sandbox Code Playgroud)

非常简单的javascript数组,我想用它创建:

<script type="text/javascript">
var projects = [
    @foreach (var item in Model)
    {
        @HttpUtility.JavaScriptStringEncode("['" + item.Gebouwnaam + "', " + item.LocatieLatitude.ToString().Replace(",", ".") + ", " + item.LocatieLongitude.ToString().Replace(",", ".") + ", '" + item.Plaats + "', '" + item.Gebruiksfunctie + "', '" + item.Licentiehouder + "', '" + item.rating + "'],"); …
Run Code Online (Sandbox Code Playgroud)

javascript razor asp.net-mvc-3

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

Javascript中的@符号是什么?

我偶然发现了https://codereview.stackexchange.com/questions/10610/refactoring-javascript-into-pure-functions-to-make-code-more-readable-and-mainta,我不明白答案,因为用户以我以前从未见过的方式使用@符号.附加到if关键字时它会怎么做?你能把它附加到其他关键词吗?

javascript

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

如何在javascript函数中使用Razor值?

可能重复:
在javascript中使用razor

我想在剃刀页面上放置模型中的siimple值,并将其用作javascript函数中的常量值.即

<script> var myValue = @Model.myRecord.Count();</script>
Run Code Online (Sandbox Code Playgroud)

所以myValue =我模型中的记录数.我使用myRecord.Count作为示例,它可以是我的模型中的任何值.

这可能吗?

TIA J

好的我偶然发现了以下解决方案:

<script> var myValue = @(Model.myRecord.Count())</script>
Run Code Online (Sandbox Code Playgroud)

只需添加额外的括号就可以了.

javascript asp.net-mvc razor

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

如何在javascript脚本标记中使用剃刀for循环?

生成的错误是"条件编译已关闭".

来自MSDN的条件编译黑客很普遍但是失败了.

有几个像这样的问题: 在Razor中关闭了条件编译?

他们都指出了答案:

/*@cc_on @*/
Run Code Online (Sandbox Code Playgroud)

从MSDN上看到的文章:

http://msdn.microsoft.com/en-us/library/5y5529x3(v=vs.90).aspx

但是,这个hack很失败,或者我似乎无法实现它.尾随@*导致.cshtml文件中的剩余代码被注释掉.此外,@cc_on给出错误"cc_on在当前上下文中不存在".

这是在.cshtml文件中测试的一段代码:

<script type="text/javascript">
 @for(int i = 0; i < 5; i++)
 {
    document.write(@i);
 }
</script>
Run Code Online (Sandbox Code Playgroud)

这将导致"条件编译关闭"消息.试图在其中插入变通方法将导致来自for循环的上下文",","期望","或"期望;"或"预期""中存在各种其他消息,例如"cc_on".

如何在javascript脚本标记中使用剃刀for循环?

javascript c# razor asp.net-mvc-3

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

如何用c#填充javascript变量?

我在view.cshtml中有这些行:

$("document").ready(function(){
    @{
        var cx = Json.Encode(ViewBag.x);
        var cy = Json.Encode(ViewBag.y);
    }
    var x = @cx;
    var y = @cy;
});
Run Code Online (Sandbox Code Playgroud)

但现在;javascript代码下面有一条红线,错误是Syntax error.

问题是什么?

javascript c# razor

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

如何将变量从 Razor 传递给 JavaScript?

我有一个 C# 变量“值”,我想将它传递给 JavaScript Chartjs 数据对象。它呈现图表但不包括两个@p 值。请参阅下面的代码源:

.cshtml 文件:

@{
    int p1 = 43;
    int p2 = 45;


}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title></title>
</head>
<body>     
    <div style="width: 400px;">
        <canvas id="lineChart" width="400" height="400"></canvas>
    </div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js"></script>
    <script src="main.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript文件:

var chart = document.getElementById("lineChart");

var data = {
    labels: [2012, 2013, 2014, 2015, 2016, 2017],
    datasets: [
        {
            label: "My Chart Label",
            fill: false,
            lineTension: 0.1,
            data: ['(@p1)', '(@p2)', 50, 48, 47, 52]
        }
    ] …
Run Code Online (Sandbox Code Playgroud)

javascript c# charts

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

如何在razor foreach中使用html和escape razor?

如何在剃须刀foreach中构建我的html?我在foreach里面得到"无法解决tbody".

我的代码:

function loadNyhedsbrevTable() {
    var tbody = "";

    $('#NyhedsbrevTable tbody').empty();
    @foreach (string n in ViewBag.NyhedsbrevListe)
    { 
        tbody = '<tr><td>' + n + '</td></tr>';
    }
    $('#NyhedsbrevTable tbody').append(tbody);
}
Run Code Online (Sandbox Code Playgroud)

我需要这样的东西吗?

<not razor> tbody = '<tr><td>' + @n + <not razor>'</td></tr>';

html c# escaping razor

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

VB Razor 中 &lt;script&gt; 元素中的 Javascript 代码

我试图在 Razor 条件视图中包含一些 JS,但它一直试图将我的 JS 解释为 VB:

@If includeMoreJs Then
    @<script type="text/javascript" src="/some-js-file.js"></script>
    <script type="text/javascript" src="/some-other-js-file.js"></script>
    <script type="text/javascript">
        function someFunction(p) {
            if (p) foo();
            else bar();
        }
    </script>
End If
Run Code Online (Sandbox Code Playgroud)

我还尝试使用<text>psuedo 元素进行此操作,如下所述:Using Razor inside JavaScript

@If includeMoreJs Then
    <text>
    <script type="text/javascript" src="/some-js-file.js"></script>
    <script type="text/javascript" src="/some-other-js-file.js"></script>
    <script type="text/javascript">
        function someFunction(p) {
            if (p) foo();
            else bar();
        }
    </script>
    </text>
End If
Run Code Online (Sandbox Code Playgroud)

但仍然没有运气......我怎样才能让VB独立于我的JS?

javascript vb.net asp.net-mvc razor

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

将javascript变量转换为C#变量

我想使用一个javascript变量作为参数传递给我在C#中的类构造函数.

如何将jaascript变量ID转换为C#,以便我能够在User.IsOnLeave上传递值?

<script type="text/javascript">
var ID;
var dateToEvaluate;

function convertVariable()
    {


 *if (User.IsOnLeave(***ID***, dateToEvaluate))
            {

}*
}
</script>
Run Code Online (Sandbox Code Playgroud)

javascript asp.net-mvc

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