【发布时间】:2015-10-05 06:49:30
【问题描述】:
我从我的 cshtml 文件中截取了以下代码
<div id="trows" class="table-responsive">
<table class="table table-bordered" id="myTable">
</div>
并在 on add 按钮事件中添加一行我尝试如下:-
var itemRSelected = $("#SelectedteRId option:selected").text();
var itemNSelected = $("#SelectedName option:selected").text();
debugger;
//all ok till above. I verified in debuggger
//but I am not able to add these values along with the Model rows to the table using below code. Any help? clue to fix the issue?
@{var i = 0;}
@foreach (MyNameSpace.Models.MyClassObj p in Model.myClassList)
{
if(itemRSelected == p.RowId && itemNSelected == p.NamePix) {
var row = "<tr><td>" + @(p.RowId) + "</td><td>" + @(p.NamePix) +
"</td><td>" + @(p.Mi) + "</td><td>" + @(p.Name) +
"</td><td>" + @(p.ExtraDate) +
"</td><td><a class='btn btn-danger btn-xs btnDelete' title='Delete'><i class='fa fa-trash-o'></i></a></td><tr>" ; }
@: <text>@row</text>
@:$("#myTable").eq(@i++).after(@row);
}
【问题讨论】:
-
在服务器端代码呈现逻辑时,您不能使用客户端 JavaScript 变量
itemNSelected,即@ 987654326@。为什么使用jQuery Ajax 不能实现? -
@Satpal,我试图避免服务器跳闸,因为我希望我可以在第一次查看旅行本身时在客户端拥有所有模型数据。
-
斯蒂芬,感谢您的建议,但我已经准备好与您提供的链接类似的逻辑。但它仍然无法正常工作。我不是从头开始问怎么做,但我写了一些东西并想知道错误是什么。如果专家看起来他们可能会立即发现错误并提出正确的语法/逻辑。就像上面的@Satpal 建议一样,但我正在尝试调用另一个 ajax 调用,因为我认为客户端在第一次查看视图时是与客户端一起调用的。
-
你的逻辑甚至与我给你的链接都不远。我建议你再研究一下
标签: jquery asp.net-mvc model-view-controller