<script>
...
var Klasa = calEvent.ClassID;
@{
var NameOfClass = Model.FirstOrDefault(xx => xx.ClassID == @:Klasa).Nazwa_Klasy;
}
$description.append($('<p/>').html('<b>Klasa:</b>' + @NameOfClass
...
</script>
如何正确将JS与C#混合使用?
我得到的信息是“在声明之前不能使用局部变量“ NameOfClass””,
但是当我再次使用字符串值声明变量之前,我得到了“一个开头“(”缺少相应的结尾“)”',然后我不确定该怎么做,因为一切看起来都很好。
我的主要目标是我想从ClassID等于calEvent.ClassID的Model(Nazwa_Klasy)中获取单个数据。也许我也应该改变我的表情?
感谢您的回答!
最佳答案
首先,让我们澄清一些事情:
这将在客户端发生var Klasa = calEvent.ClassID;
。意味着,某些操作将导致浏览器中的calEvent
。
如果是,那么它使跟踪变得毫无意义。
Model.FirstOrDefault(xx => xx.ClassID == @:Klasa)
与在服务器上(运行服务器的地方)一样,
klasa
不可用。因此,最好的选择是吐出Model
,它似乎是客户端的一个数组,然后对其进行过滤。不知道我是否有意义,但请尝试以下操作:<script>
...
//Array of object to look into at client side
var [email protected](JsonConvert.SerializeObject(Model));
var Klasa = calEvent.ClassID;
var NameOfClass=null;
$.each(modelArray,function(){
if($(this).ClassID===klasa){
NameOfClass = $(this).Nazwa_Klasy;
return;
}
});
//You may want to test if `NameOfClass` has a value.
$description.append($('<p/>').html('<b>Klasa:</b>' + NameOfClass
...
</script>
同样,如注释中指出的,
@:klasa
是错误的。您在那里不需要:
。关于javascript - C#中的JavaScript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46899172/