C# 在C代码中编写JavaScript脚本

C# 在C代码中编写JavaScript脚本,c#,javascript,.net,asp.net-mvc,razor,C#,Javascript,.net,Asp.net Mvc,Razor,我有一个asp.net应用程序,需要结合C#和javascript代码: <td > <label name="tag@(i)">@Model[1][i]._tag</label> </td> <td> <input type="text" value="@Model[1][i]._client" name="client@(i)"/> </td> <td> <input

我有一个asp.net应用程序,需要结合C#和javascript代码:

<td >
    <label name="tag@(i)">@Model[1][i]._tag</label>
</td>
<td>
    <input type="text" value="@Model[1][i]._client" name="client@(i)"/>
</td>
<td>
    <input type="text" value="@Model[1][i]._reception"  class="datepicker" name="reception@(i)"/>
</td>
<td>
    <input type="text" value="@Model[1][i]._cloture"  class="datepicker" name="cloture@(i)"/>
</td>
<td>
    @{
        List<Planning.Models.Impaire> liste = u.Get_Impaire_List();
        Planning.Models.Impaire imp = liste.Find(x => x.id_paire == Model[1][i].Id);

        @{
            string reception =  @: <script>
            @: var f1 = $('input[name="reception' + @i.ToString() + '"]').val();
            @: document.write(f1);
            @: </script>
            ;
            string cloture =  @: <script>
            @: var f2 = $('input[name="cloture' + @i.ToString() + '"]').val();
            @: document.write(f2);
            @: </script>
            ;
            string client =  @: <script>
            @: var f3=  $('input[name="client' + @i.ToString() + '"]').val();
            @: document.write(f3);
            @: </script>
            ;
            string tag =  @: <script>
            @:var f4= $('input[name="tag' + @i.ToString() + '"]').val();
            @: document.write(f4);
            @: </script>
            ;
        }

        @Html.ActionLink("enregistrer","Index", new {identificateur = Model[1][i].Id, Pages = "1", _reception =reception, _cloture = cloture, _client = client, _tag = tag  })
    </td>  

@型号[1][i]。\u标签
@{
List liste=u。获取_损害_列表();
Planning.Models.divide imp=liste.Find(x=>x.id\u paire==Model[1][i].id);
@{
字符串接收=@:
@:var f1=$('input[name=“receivement'+@i.ToString()+'']”)val();
@:document.write(f1);
@: 
;
字符串cloture=@:
@:var f2=$('input[name=“cloture'+@i.ToString()+'']”)val();
@:document.write(f2);
@: 
;
字符串客户端=@:
@:var f3=$('input[name=“client'+@i.ToString()+'“]).val();
@:document.write(f3);
@: 
;
字符串标记=@:
@:var f4=$('input[name=“tag'+@i.ToString()+'']”)val();
@:document.write(f4);
@: 
;
}
@ActionLink(“enregister”,“Index”,新的{identicateur=Model[1][i].Id,Pages=“1”,_receivement=receivement,_cloture=cloture,_client=client,_tag=tag})
但我在这一行有一个例外:
@:var f1=$('input[name=“receivement'+@I.ToString()+']”)val();


此错误的原因是什么?我如何修复它?

将js放在视图中,就像您的示例一样,是非常不幸运的,而且总是可以避免的。找到一种尽可能好地将javascript与razor代码分离的方法。您可以将javascript变量放在视图中

var arr = [@i.ToString()]

然后,在一个单独的js文件中处理这个js变量arr。

您有什么建议吗?我在添加
var arr=[@i.ToString()]时得到了相同的结果
图像中的错误消息不可读,因为它是1。太小,法语是第二,我不太擅长。看起来您的模板代码无效。可能会剪切部分,直到找到挂起的位置。
编译错误描述:编译满足此需求所需的资源时出错。Pl请参阅下面有关错误的详细信息,并适当修改您的源代码。编译器错误消息:CS1002:;预期为
,这是模板代码中的语法错误。如前所述,这应该很容易找到,剪下teplate代码片段,您应该会找到它。但相同的
共享
模板并没有引起混淆其他视图中有akes,为什么是这一个?