使用razor可以很容易地在html中显示列表的值:
<div id="collapse1" style="display:none">
@{
foreach (var i in Model)
{
<text> <strong>::: @i.City, @i.Country :::</strong> </text>
<p style="margin-bottom:0px"></p>
foreach (var h in i.Weather)
{
{
<div id="MyDiv2">
<strong><small>@DateTime.Now.AddDays(count).ToString("dd/MM/yy")</small></strong>
<p style="margin-bottom:0px"></p>
<text><small>Max: @i.MaxTemp.ElementAt(@count)°</small></text>
<p style="margin-bottom:0px"></p>
<text><small>Min: @i.MinTemp.ElementAt(@count)°</small></text>
<span id="MyTest">the min temp: @i.MinTemp.ElementAt(0) </span>
</div>
}
count++;
}
}
}
</div>
是的,小菜一碟。但是要知道我想在单击按钮之后更改跨度MyTest内的文本,以便它改为:“最大温度:@ i.MaxTemp.ElementAt(0)”。
我的问题是我必须混合使用jQuery(用于按钮)和razor(以获取maxtemp值)。任何帮助/提示都非常感谢!
答案 0 :(得分:1)
<div id="collapse1" style="display:none">
@{
int mycounter=0;
foreach (var i in Model)
{
<text> <strong>::: @i.City, @i.Country :::</strong> </text>
<p style="margin-bottom:0px"></p>
foreach (var h in i.Weather)
{
{
<div id="MyDiv2">
<strong><small>@DateTime.Now.AddDays(count).ToString("dd/MM/yy")</small></strong>
<p style="margin-bottom:0px"></p>
<text><small>Max: @i.MaxTemp.ElementAt(@count)°</small></text>
<p style="margin-bottom:0px"></p>
<text><small>Min: @i.MinTemp.ElementAt(@count)°</small></text>
<span maxtemp=' @i.MaxTemp.ElementAt(0)' id="MyTest">the min temp: @i.MinTemp.ElementAt(0) </span>
</div>
}
count++;
}
}
}
</div>
$('#MyTest').on('click',function(){
$(this).text($(this).attr('maxtemp'));
}):