J'ai une syntaxe de rasoir comme celle-ci:
foreach(var item in model)
{
<td><a href ="#" onclick="Getinfo(@item.email);" >6/16/2016 2:02:29 AM</a> </td>
}
Mon javascript qui reçoit la demande va comme ceci:
<script type="text/javascript" src="~/Scripts/jquery-1.9.1.js"></script>
<script type="text/javascript">
function Getinfo(elem) {
var email = document.getElementById(elem).innerHTML;
}
</script>
En cliquant sur le lien href, l'erreur suivante apparaît dans la console du navigateur:
"Uncaught SyntaxError: Jeton invalide ou inattendu",
et cette partie est soulignée:
**</a> </td>**
Je suis débutant, je suis donc souvent coincé dans la syntaxe. Si c'est le cas, aidez-moi s'il vous plaît.
Vous devriez passer @item.email
entre guillemets, il sera traité comme un argument de chaîne.
<td><a href ="#" onclick="Getinfo('@item.email');" >6/16/2016 2:02:29 AM</a> </td>
Sinon, il est traité comme une variable et une erreur est générée.
La réponse acceptée fonctionne lorsque vous avez une seule ligne (le courrier électronique) mais si vous avez un
chaîne multiligne, l'erreur restera.
S'il vous plaît regarder dans cette affaire:
<!-- start: definition-->
@{
dynamic item = new System.Dynamic.ExpandoObject();
item.MultiLineString = @"a multi-line
string";
item.SingleLineString = "a single-line string";
}
<!-- end: definition-->
<a href="#" onclick="Getinfo('@item.MultiLineString')">6/16/2016 2:02:29 AM</a>
<script>
function Getinfo(text) {
alert(text);
}
</script>
Changez le guillemet simple (') en backtick (`) dans Getinfo comme ci-dessous et l'erreur sera corrigée:
<a href="#" onclick="Getinfo(`@item.MultiLineString`)">6/16/2016 2:02:29 AM</a>