我正在使用动态SQL尝试从数据库中获取某个属性的所有行,并将其设置为我的CSHTML页面中的脚本中的变量。从调试和反复试验,脚本不能在我连接到数据库的文件的顶部布局标题中工作。
这是我的#14; ChooseWeek.cshtml"页。
@using Microsoft.AspNet.Identity;
@using WebMatrix.Data;
@{
Layout = "~/Views/Shared/_Layout.cshtml";
var db = Database.Open("PayForPlay");
var selectedData = db.Query("SELECT WeekNumber FROM dbo.Answers");
}
这是我的HMTL页面的一个样本,它在12个不同的周内有12次(这是每周只更改周数和ID的完全相同的代码片段):< / p>
<li id="wk1">
<a href="/Home/WeeklyPredictions?field1=1">
<img id="w1p" src="http://mghelmets.com/ncaa%20historical/north-carolina-15a.gif" alt="Week1" width="200" height="150" />
<span class="text-content"><span id="wk1m">Week1</span></span>
</a>
</li>
在HTML正文的最后,我有一个工作脚本,用于更改鼠标悬停时的文本:
document.getElementById("wk1").addEventListener("mouseover", msg1);
function msg1() {
document.getElementById("wk1m").innerHTML = (selectedData); }
我的目标是,它是否会隐藏Answers中包含的每周。因此,如果selectedData包含第1周,则整个将被隐藏。
我尝试将它放在我的脚本顶部,当我这样做时,我的HTML页面只是跳过了整个脚本
if (selectedData.Contains("1")) {
document.getElementById("wk1").style.display="none"; }
else if (!selectedData.Contains("1")) {
document.getElementById("wk1").addEventListener("mouseover", msg1);
function msg1() {
document.getElementById("wk1m").innerHTML = ('<b>Carolina vs NC:</b></br>Click here to submit your Predictions for Week 1');
}
}
这是因为selectedData仅在顶部标题中可用吗?如果是这样的情况,我可以做的事情做同样的事情,但在顶部标题?
提前感谢您的帮助!