widziałem w innym poście, że można wywołać funkcję JavaScript w kodzie maszynki tak:Wywołanie funkcji JavaScript w MVC 5 Widok Razor
@:FunctionName()
Dla mnie jednak to wyjść tylko rzeczywista słowa FunctionName()
Oto mój widok:
@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>
}
Czy to dlatego, że zagnieżdżone go w `@if '? W każdym razie dookoła tego?
Dzięki. Czy składnia "@:" jest czymś? Czy zostało to przerwane? – Guerrilla
Składnia '@:' mówi Razorowi, że traktuje to, co następuje jako zwykły tekst. W kontekście bloku kodu byłoby to konieczne, aby zapobiec uruchomieniu przez Razor próby uruchomienia metody 'FunctionName()' w kontekście C#/VB zamiast kontekstu JavaScript, gdzie faktycznie istnieje. –
@Guerrilla Nie wstawiłem tego do Visual Studio, więc możliwe jest, że nadal będziesz potrzebować '@:' przed wywołaniami funkcji javascript. – jrummell