电子邮件文本框在运行时从数据库中填充有效的电子邮件ID(比如patra.bikash@gmail.com)。 因此我得到运行时JS错误(动态文件),没有定义gmail。 (在MVC 3.0中) 不知道怎么解决这个问题?
如果它可以编译时间,那么我可以使用@前缀加倍来避免这个问题,但是如何在运行时解决它? 在下面的代码中,@ contacts.EmailAddress从我的ViewModel中获取patra.bikash@gmail.com。
<tbody id="BillingContactRows">
@{
if (Model.ContactList != null && Model.ContactList.Count > 0)
{
foreach (Models.Contact contacts in Model.ContactList)
{
<tr>
<td>
@if (contacts.Primary)
{
<input type="radio" id="rdo.@contacts.ContactID" value="radio" checked="checked" name="contact" onclick=" SelectContact('@contacts.ContactID');" />
}
else
{
<input type="radio" id="rdo.@contacts.ContactID" value="radio" name="contact" onclick=" SelectContact('@contacts.ContactID');" />
}
</td>
<td>
@contacts.ContactName
</td>
<td>
@contacts.EmailAddress
</td>
<td>
<span class="datatype3">
@contacts.Status
</span>
</td>
</tr>
}
}
}
</tbody>
答案 0 :(得分:0)
ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(“ - ”),下划线(“ _“),冒号(”:“)和句号(”。“)。
简而言之,这意味着你不能将@符号用作单选按钮的id。
我建议你创建一个帮助方法,你可以调用它来将@符号翻译成另一个 - 也许是下划线 - 符号