我在另一篇文章中看到,您可以在剃刀代码中调用JavaScript函数,如下所示:
@:FunctionName()
对我来说,虽然这只输出实际的单词FunctionName()
以下是我的观点:
@model PriceCompare.Models.QuoteModel
@{
ViewBag.Title = "Quote";
}
<h2>Quote</h2>
@if (@Model.clarify == true)
{
// do drop down loic
@:ShowClarify();
}
else
{
// fill quote
@:ShowQuote();
}
<div class="clarify">
You can see the clarify div
</div>
<div class="quote">
You can see the quote div
</div>
@section head {
<script type="text/javascript">
$(document).ready(
function ShowQuote() {
$(".quote").show();
},
function ShowClarify() {
$(".clarify").show();
}
);
</script>
}
是不是因为我把它嵌套在`@ if&#39;?不管怎么说?
答案 0 :(得分:12)
您需要将javascript放在<script>
标记中,并且需要调用其范围内的函数:
<script type="text/javascript">
$(document).ready(
function ShowQuote() {
$(".quote").show();
},
function ShowClarify() {
$(".clarify").show();
}
@if (@Model.clarify == true)
{
// do drop down loic
ShowClarify();
}
else
{
// fill quote
ShowQuote();
}
);
</script>
答案 1 :(得分:2)
如果要将任何参数传递给JavaScript函数,则必须用引号('')括起来。
foreach (var item in files)
{
<script type="text/javascript">
Attachment(**'@item.FileName'**, **'@item.Size'**);
</script>
}