Nessa aula, percebi duas coisas que não tenho costume de ver.
A 1º coisa é que no código abaixo:
<script type="text/javascript" src="~/Scripts/jquery-1.10.2.min.js"></script>
<script>
function decrementa(produtoId) {
var url = "@Url.Action("DecrementaQuantidade", "Produto")";
$.post(url, {id : produtoId}, atualiza);
}
function atualiza(data) {
$("#quantidade" + data.Id).html(data.Quantidade);
}
</script>
Essa inclusão de script é adicionada na View de Produto. Fica um pouco estranho incluir um script JS dentro do HTML dessa forma por que após a inclusão desse script, ainda há código HTML para renderizar após a chamada dessa view. É correto fazer dessa forma? Pelo o que eu sei, inclusões de scripts sempre devem ser a última coisa a ser incluída (logo após a tag body).
A 2º coisa é que o JS é trabalhado dentro da View Index. É sempre interessante criar arquivos JS externos para trabalhar com os eventos, objetos do jQuery etc. Se por ventura eu quisesse tirar o onclick
, como eu pegaria o id
desse produto se dentro do JS eu não tenho gerência sobre o código do Razor e nem do C#. Isso também se aplicaria á variável Url que monta a URL da requisição.