Asp.net mvc 4 cshtml页面的格式/布局
我之前在这个问题上得到了很多帮助,但是这个问题还没有完全解决。我现在被另一件事缠住了。我从控制器返回一个响应,并在Index.cshtml中接收它,如下所示:Asp.net mvc 4 cshtml页面的格式/布局,asp.net-mvc-4,razor,syntax,Asp.net Mvc 4,Razor,Syntax,我之前在这个问题上得到了很多帮助,但是这个问题还没有完全解决。我现在被另一件事缠住了。我从控制器返回一个响应,并在Index.cshtml中接收它,如下所示: var rData = @Html.Raw(Json.Encode(Model.WarehouseResults)); <script type="text/javascript"> var from = 0, to = from + rData.length; //data.length = parseInt(r
var rData = @Html.Raw(Json.Encode(Model.WarehouseResults));
<script type="text/javascript">
var from = 0, to = from + rData.length;
//data.length = parseInt(resp.total);
for (var i = 0; i < rData.length; i++) {
data[from + i] = rData[i];
data[from + i].index = from + i;
}
onDataLoaded.notify({ from: from, to: to });
grid = new Slick.Grid("#myGrid", rData, columns, options);
etc etc...
</script>
现在我需要将这些数据分配给slickgrid,如下所示:
var rData = @Html.Raw(Json.Encode(Model.WarehouseResults));
<script type="text/javascript">
var from = 0, to = from + rData.length;
//data.length = parseInt(resp.total);
for (var i = 0; i < rData.length; i++) {
data[from + i] = rData[i];
data[from + i].index = from + i;
}
onDataLoaded.notify({ from: from, to: to });
grid = new Slick.Grid("#myGrid", rData, columns, options);
etc etc...
</script>
如果我把它放在标记上方(但在@Scripts部分内),我会得到一个错误,说rData没有定义。然后,当我把它放在标记中时,我得到一个语法错误:“IHtmlString HtmlHelper.Raw(字符串值)(+1重载)返回非HTML编码的标记”
这条线到底应该去哪里?cshtml页面是否有一个标准格式,比如哪些部分放在哪里?如果是这样,有人能为它提供一个链接或其他东西吗?使用MVC 5中的代码:-
var rData = @Html.Raw(Json.Encode(Model.WarehouseResults));
我发现行末尾的分号会导致语法错误
我目前正在使用的一个解决方案(我的示例是jqueryautocomplete)应该也适用于您的示例,如下所示
在HtmlHelper中完全创建javascript变量代码。这将放置在视图的@section脚本中
@section Scripts {
<script type="text/javascript">
@Html.Raw("var existingPersons = " + Json.Encode(this.Model.ExistingPersons) + ";" )
@Html.Raw("var settlementInformation=" + Json.Encode(this.Model.SettlementInformation) + ";")
$(function () {
$("#personName").autocomplete({
source: existingPersons
});
$("#settlementInformation").autocomplete({
source: settlementInformation
});
});
</script>
}
@节脚本{
@Html.Raw(“var existingPersons=“+Json.Encode(this.Model.existingPersons)+“;”)
@Html.Raw(“var settletementinformation=“+Json.Encode(this.Model.settletementinformation)+“;”)
$(函数(){
$(“#人名”).autocomplete({
资料来源:现有人员
});
$(“#结算信息”)。自动完成({
资料来源:定居信息
});
});
}
在客户端,这将按预期显示在
元素中
<script type="text/javascript">
var existingPersons = ["Person 1","Person 2"];
var settlementInformation=["Settlement Type 1"];
$(function () {
$("#personName").autocomplete({
source: existingPersons
});
$("#settlementInformation").autocomplete({
source: settlementInformation
});
});
</script>
var existingPersons=[“个人1”、“个人2”];
var结算信息=[“结算类型1”];
$(函数(){
$(“#人名”).autocomplete({
资料来源:现有人员
});
$(“#结算信息”)。自动完成({
资料来源:定居信息
});
});
我没有在MVC的其他版本中尝试过这一点