gpt4 book ai didi

javascript - 用razor添加js代码

转载 作者:行者123 更新时间:2023-12-02 16:22:15 25 4
gpt4 key购买 nike

我正在动态生成一些选项卡。我最终得到了 4 个标签。选项卡的类在 foreach 循环中设置,并且设置为 languageId,如下面的代码所示。

<div id="tabs">
<ul>
@for (int i = 0; i < Model.NoteViewModel.NoteTextViewModels.Count(); i++)
{
var languageId = @Model.NoteViewModel.NoteTextViewModels[i].LanguageId;
var imageName = string.Format("FlagSmall_{0}.gif", languageId);
<li>
<a href="#@languageId" class="@currentLanguage">
<img src="@Url.Content("~/Graphics/" + imageName)" />
</a>
</li>
}
</ul>

现在我引入一个新变量:var currentLanguage = new NotesController().LogonInfo.LanguageId;,它保存登录用户的当前语言。我想做的是设置焦点在 href(或 id 或 class)与当前语言相同的选项卡上。为此,我想我需要 js,但由于我不能使用 razor 语法编写 js 代码,所以我陷入了困境。所以我想要这样的东西:

@for (int i = 0; i < Model.NoteViewModel.NoteTextViewModels.Count(); i++)
{
var languageId = @Model.NoteViewModel.NoteTextViewModels[i].LanguageId;
var currentLanguage = new NotesController().LogonInfo.LanguageId;
var imageName = string.Format("FlagSmall_{0}.gif", languageId);
<li>
<a href="#@languageId">
<img src="@Url.Content("~/Graphics/" + imageName)" />
</a>
</li>
if (languageId == currentLanguage)
{
documentation.getElementById("currentLanguage").focus();
}
}

我怎样才能实现这个目标?

最佳答案

I can't have js code with razor syntax

当然可以,尽管您可能需要明确告诉 View 引擎这是客户端内容而不是服务器端代码。您可以使用the <text> tag来做到这一点。它本身不是 HTML 标签,而是 razor 引擎用来指定静态内容的东西。像这样的事情:

<script type="text/javascript">
@for (int i = 0; i < Model.NoteViewModel.NoteTextViewModels.Count(); i++)
{
<text>
var someJavaScriptVariable = 'some value';
// etc.
</text>
}
</script>

关于javascript - 用razor添加js代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29011107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com