GVKun编程网logo

javascript – Kendo UI MVVM – 如何迭代并在视图中呈现集合?(js实现迭代器)

15

关于javascript–KendoUIMVVM–如何迭代并在视图中呈现集合?和js实现迭代器的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于asp.net-mvc–在视图中转义JavaS

关于javascript – Kendo UI MVVM – 如何迭代并在视图中呈现集合?js实现迭代器的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于asp.net-mvc – 在视图中转义JavaScript字符串文字、asp.net-mvc-4 – 如何在视图页面上缩小脚本块内的JavaScript、c# – 在MVC Asp.net中呈现部分视图后,是否可以启动javascript函数?、javaScript window.event.keyCode 集合与测试方法_javascript技巧等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

javascript – Kendo UI MVVM – 如何迭代并在视图中呈现集合?(js实现迭代器)

javascript – Kendo UI MVVM – 如何迭代并在视图中呈现集合?(js实现迭代器)

我只是试图在我的Kendo.View中循环一个数组并尝试从元素中渲染一个属性.这在MVC Razor中非常简单,例如

@foreach( var displayLink in Model ) {
 <h1>displayLink.Text</h1>
}

我没有选择摘录,只是分享了整个文件.

这一切都运行,没有例外等.视图呈现静态内容但不呈现循环的内容.我打开evalTemplate = true,但仍然没有骰子.我一直无法找到任何方法来做这件事,这让我疯狂.我能找到的就是连接Kendo UI ListView等的方法.我不想要那个重量,我只想直接遍历数组.

Index.htm(查看):

<div>
    <div>
        <h1>Web</h1>
        <p>The future is <i>Now</i>.
        </p>
    </div>
</div>


# for(var i = 0; i < DashboardLinks.length; i++) { #
    <h1>#= DashboardLinks[i].TitleText #</h1>
# } #

控制器:

define(
    // == INTERFACE NAME ==
    "Controllers.IHome",// == DEPENDENCIES ==
    [
        "Util.IGetViewSource","Util.ILayout","viewmodels.Home.IHomeVM"
    ],function ( /* Dependency injections: */ getViewSource,layout,iHomeVM)
    {

        // Define the module.
        var module =
           {
               index: function () {

                   getViewSource("~/App/Views/Home/Index.htm",function (viewSource) {
                       // get the model
                       var viewmodel = new iHomeVM();
                       viewmodel.AddDashboardLink("#timecard","Time Cards","Manage time cards and get it done.","time");

                       // render the view
                       var view = new kendo.View(viewSource,{ model: viewmodel,evalTemplate: true });

                       // render the view
                       layout.renderBodyView(view);
                   });
               }
           };

        // Return the module.
        return module;
    }
);

HomeVM:

define(
    // == INTERFACE NAME ==
    "viewmodels.Home.IHomeVM",// == DEPENDENCIES ==
    [
        "viewmodels.Shared.ILinkVM"
    ],function(
        // == DEPENDENCY INJECTIONS ==
        iLinkVM
    ) {
        // == CONSTRUCTOR ==
        function HomeVM() {
            console.log("HomeVM constructor executing.");


            // == PROPERTIES & METHODS ==
            this.DashboardLinks = [];


            // Return a copy of this wrapped in Kendo's observable.
            return kendo.observable(this);
        }

        HomeVM.prototype.AddDashboardLink = function(
            href,titleText,descriptionText,iconName) {
            this.DashboardLinks.push(new iLinkVM(
                href,iconName
            ));
        } 

        // Return the view model module.
        return HomeVM;
    }
);

LinkVM:

define(
    // == INTERFACE NAME ==
    "viewmodels.Shared.ILinkVM",// == DEPENDENCIES ==
    [

    ],function (
        // == DEPENDENCY INJECTIONS ==

    )
    {
        // == CONSTRUCTOR ==
        function LinkVM(href,iconName) {
            console.log("LinkVM constructor executing.");


            // == PROPERTIES & METHODS ==
            this.Href = href;
            this.TitleText = titleText;
            this.DescriptionText = descriptionText;
            this.IconName = iconName;


            // Return a copy of this wrapped in Kendo's observable.
            return kendo.observable(this);
        }


        // Return the view model module.
        return LinkVM;
    }
);

解决方法

我找到了:你可以通过设置“evalTemplate”属性来做到这一点:
http://docs.telerik.com/kendo-ui/api/javascript/view#configuration-evalTemplate

// create the view
  var view = new kendo.View(viewSource,evalTemplate: true });

然后您可以使用MVVM声明性绑定以及Kendo模板绑定,例如for循环.

确保你正确地逃离了所有的哈希值(‘#’),否则模板会爆炸.

asp.net-mvc – 在视图中转义JavaScript字符串文字

asp.net-mvc – 在视图中转义JavaScript字符串文字

在ASP.NET MVC视图中是否有用于转义JavaScript的实用功能?我经常需要从视图中使用一些值来初始化一小段JavaScript代码;例如我可能会有这样的东西:
<script type="text/javascript">
var page = new Page({ currentUser: "<%= Model.UserName %>" });
page.init();
</script>

我会期待像:

<script type="text/javascript">
var page = new Page({ currentUser: "<%= Html.JavaScriptEscape(Model.UserName) %>" });
page.init();
</script>

当然,我可以自己写这个功能。但是由于已经有HTML编码的内置实用程序,因为ASP.NET MVC的一个卖点是<%%>是默认渲染模式,因为我想要实现的是很常见的,它让我想知道为什么我找不到已经内置的东西。例如,在视图中是否有一种简单而优雅的方式将对象序列化为JSON?

还是在做ASP.NET MVC原理的事情?当我遇到这样的问题时,通常会认为我做错了,因为我假设框架设计师花了一些时间思考现实世界的场景。

解决方法

在.NET 4中,HttpUtility类对于各种上下文有各种静态编码方法,包括用于此特定目的的 JavaScriptStringEncode方法。

不过,使用JSON反序列化通常更简单。

asp.net-mvc-4 – 如何在视图页面上缩小脚本块内的JavaScript

asp.net-mvc-4 – 如何在视图页面上缩小脚本块内的JavaScript

如何轻松地在视图页面的脚本块中缩小JavaScript?

我有一些页面特定的脚本,希望放在特定的视图页面上。但ASP.NET MVC4捆绑和缩小仅适用于脚本文件,而不适用于视图页面中的脚本代码。

UPDATE

我接受了Sohnee的建议,将脚本解压缩到文件中。但我需要在特定的页面上使用它们,所以我最终做的是:

在布局页面上,我为页面特定的javascript块创建了一个可选部分:

@RenderSection("js",required: false)
</body>

然后在视图页面中,让我们说Index.cshtml,我渲染脚本部分如下:

@section js{    
    @Scripts.Render("~/bundles/js/" + Path.GetFileNameWithoutExtension(this.VirtualPath))
}

如您所见,它假设javascript文件名(index.js)与视图页面名称(index.cshtml)相同。然后在捆绑配置中,我有:

var jsFiles = Directory.GetFiles(HttpContext.Current.Server.MapPath("Scripts/Pages"),"*.js");
foreach (var jsFile in jsFiles)
{
    var bundleName = Path.GetFileNameWithoutExtension(jsFile);
    bundles.Add(new ScriptBundle("~/bundles/js/" + bundleName).Include(
    "~/Scripts/pages/" + Path.GetFileName(jsFile)));
}

那么,如果你在索引页面上,HTML输出将是:

<script src="/bundles/js/Index?v=ydlmxiUb9gTRm508o0SaIcc8LJwGpVk-V9iUQwxZGCg1"></script>
</body>

如果您在产品页面上,HTML输出将是:

<script src="/bundles/js/Products?v=ydlmxiUb9gTRm508o0SaIcc8LJwGpVk-V9iUQwxZGCg1"></script>
</body>

解决方法

以最小的努力完成此操作的方法是将其提取到脚本文件中。然后您可以根据需要使用捆绑和缩小。

如果你想将其内联缩小,那么只需将脚本移到页外即可。

c# – 在MVC Asp.net中呈现部分视图后,是否可以启动javascript函数?

c# – 在MVC Asp.net中呈现部分视图后,是否可以启动javascript函数?

让我先说一下这个问题,因为我对MVC很新.

我有一个实例,我在局部视图中渲染一个devexpress网格.

@Html.Partial("MyGridPartial",Model)

我需要在通过此局部视图渲染填充模型时启动javascript函数.我试图通过这个做到这一点. :

settings.ClientSideEvents.EndCallback

我可以达到这一点,但当时我没有填充模型本身,所以没有好处.我想知道是否有人知道踢到/附加到局部视图渲染的通用方法,以便跳转到一些客户端javascript代码.

解决方法

如果您将此部分渲染为正在渲染的视图的正常流程的一部分,则答案为否.

原因是在甚至呈现父视图之前将Partial转换为字符串.此时,浏览器没有看到任何标记,也没有读取过jscript.

另一方面,如果在JQuery Ready函数中渲染了partial:

$(document).ready(function(){

我认为你需要使用Action Partial(由Action方法调用的Partial).可以通过引用url(restfully)在JQuery Ready函数中调用Action Partials:

$('#divMyGridPartial').load('/Grids/MyGridPartial/{id}');

并且可以在ready系列中调用任何后续jscript / jquery函数.

动作部分的另一个优点是,模型在动作方法中形成,并且可以根据您的需要在上下文中创建(理想情况下是通过身份转移).

javaScript window.event.keyCode 集合与测试方法_javascript技巧

javaScript window.event.keyCode 集合与测试方法_javascript技巧

IE only的监听代码


[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]


Ascii 代码表
Ascii 0 {Nulo, Sem Som}
Ascii 1
Ascii 2
Ascii 3
Ascii 4
Ascii 5
Ascii 6
Ascii 7
Ascii 8 {BackSpace}
Ascii 9 {Tab}
Ascii 10
Ascii 11
Ascii 12
Ascii 13 {Enter}
Ascii 14
Ascii 15
Ascii 16 {Shift}
Ascii 17 {CTRL}
Ascii 18 {ALT}
Ascii 19
Ascii 20 {CapsLock}
Ascii 21
Ascii 22
Ascii 23
Ascii 24
Ascii 25
Ascii 26
Ascii 27
Ascii 28
Ascii 29
- Ascii 30
- Ascii 31
Ascii 32 {Espaço}
! Ascii 33
" Ascii 34
# Ascii 35
$ Ascii 36
% Ascii 37
& Ascii 38
'' Ascii 39
( Ascii 40
) Ascii 41
* Ascii 42
+ Ascii 43
, Ascii 44
- Ascii 45
. Ascii 46
/ Ascii 47
0 Ascii 48
1 Ascii 49
2 Ascii 50
3 Ascii 51
4 Ascii 52
5 Ascii 53
6 Ascii 54
7 Ascii 55
8 Ascii 56
9 Ascii 57
: Ascii 58
; Ascii 59
= Ascii 61
> Ascii 62
? Ascii 63
@ Ascii 64
A Ascii 65
B Ascii 66
C Ascii 67
D Ascii 68
E Ascii 69
F Ascii 70
G Ascii 71
H Ascii 72
I Ascii 73
J Ascii 74
K Ascii 75
L Ascii 76
M Ascii 77
N Ascii 78
O Ascii 79
P Ascii 80
Q Ascii 81
R Ascii 82
S Ascii 83
T Ascii 84
U Ascii 85
V Ascii 86
W Ascii 87
X Ascii 88
Y Ascii 89
Z Ascii 90
[ Ascii 91
\ Ascii 92
] Ascii 93
^ Ascii 94
_ Ascii 95
` Ascii 96
a Ascii 97
b Ascii 98
c Ascii 99
d Ascii 100
e Ascii 101
f Ascii 102
g Ascii 103
h Ascii 104
i Ascii 105
j Ascii 106
k Ascii 107
l Ascii 108
m Ascii 109
n Ascii 110
o Ascii 111
p Ascii 112
q Ascii 113
r Ascii 114
s Ascii 115
t Ascii 116
u Ascii 117
v Ascii 118
w Ascii 119
x Ascii 120
y Ascii 121
z Ascii 122
{ Ascii 123
| Ascii 124
} Ascii 125
~ Ascii 126
Ascii 127
Ascii 128
 Ascii 129
‚ Ascii 130
ƒ Ascii 131
„ Ascii 132
&ldots; Ascii 133
† Ascii 134
‡ Ascii 135
ˆ Ascii 136
‰ Ascii 137
Š Ascii 138
‹ Ascii 139
Œ Ascii 140
 Ascii 141
Ž Ascii 142
 Ascii 143
 Ascii 144
'' Ascii 145
'' Ascii 146
" Ascii 147
" Ascii 148
o Ascii 149
- Ascii 150
- Ascii 151
˜ Ascii 152
™ Ascii 153
š Ascii 154
› Ascii 155
œ Ascii 156
 Ascii 157
ž Ascii 158
Ÿ Ascii 159
Ascii 160
¡ Ascii 161
¢ Ascii 162
£ Ascii 163
¤ Ascii 164
¥ Ascii 165
¦ Ascii 166
§ Ascii 167
¨ Ascii 168
© Ascii 169
ª Ascii 170
« Ascii 171
Ascii 172
­ Ascii 173
® Ascii 174
¯ Ascii 175
° Ascii 176
± Ascii 177
² Ascii 178
³ Ascii 179
´ Ascii 180
µ Ascii 181
Ascii 182
· Ascii 183
¸ Ascii 184
¹ Ascii 185
º Ascii 186
» Ascii 187
¼ Ascii 188
½ Ascii 189
¾ Ascii 190
¿ Ascii 191
À Ascii 192
Á Ascii 193
 Ascii 194
à Ascii 195
Ä Ascii 196
Å Ascii 197
Æ Ascii 198
Ç Ascii 199
È Ascii 200
É Ascii 201
Ê Ascii 202
Ë Ascii 203
Ì Ascii 204
Í Ascii 205
Î Ascii 206
Ï Ascii 207
Ð Ascii 208
Ñ Ascii 209
Ò Ascii 210
Ó Ascii 211
Ô Ascii 212
Õ Ascii 213
Ö Ascii 214
× Ascii 215
Ø Ascii 216
Ù Ascii 217
Ú Ascii 218
Û Ascii 219
Ü Ascii 220
Ý Ascii 221
Þ Ascii 222
ß Ascii 223
à Ascii 224
á Ascii 225
â Ascii 226
ã Ascii 227
ä Ascii 228
å Ascii 229
æ Ascii 230
ç Ascii 231
è Ascii 232
é Ascii 233
ê Ascii 234
ë Ascii 235
ì Ascii 236
í Ascii 237
î Ascii 238
ï Ascii 239
ð Ascii 240
ñ Ascii 241
ò Ascii 242
ó Ascii 243
ô Ascii 244
õ Ascii 245
ö Ascii 246
÷ Ascii 247
ø Ascii 248
ù Ascii 249
ú Ascii 250
û Ascii 251
ü Ascii 252
ý Ascii 253
þ Ascii 254
ÿ Ascii 255

我们今天的关于javascript – Kendo UI MVVM – 如何迭代并在视图中呈现集合?js实现迭代器的分享就到这里,谢谢您的阅读,如果想了解更多关于asp.net-mvc – 在视图中转义JavaScript字符串文字、asp.net-mvc-4 – 如何在视图页面上缩小脚本块内的JavaScript、c# – 在MVC Asp.net中呈现部分视图后,是否可以启动javascript函数?、javaScript window.event.keyCode 集合与测试方法_javascript技巧的相关信息,可以在本站进行搜索。

本文标签: