gpt4 book ai didi

c# - Razor MVC 3 中变量的范围是什么

转载 作者:行者123 更新时间:2023-11-30 22:18:41 24 4
gpt4 key购买 nike

我的 Razor 代码中 myClient 的变量范围有问题。我相信解决方案很简单。基本上我在一个单独的 @{} block 中引用它,这可能是导致问题的原因,但似乎除非我这样做,否则我会得到 if..{} 代码HTML。

@{
int i = 0;
foreach (var item in Model.Clients)
{
Int32 myId = Convert.ToInt32(item.DBID);
var myClient = db.Client.Where(c => c.Id == myId).First();
<td>
<table class="inner">
<tr><th>
@string.Format(
"{0} {1} {2}",
myClient.Title,
myClient.Initials,
myClient.LastName)

@{
if (myClient.Type!="Primary")
{
@Html.ActionLink(
"Delete",
"Delete",
"ClientBackground",
new { id=item.ID }, null)
}
}
</th></tr>
}
<table>

我的代码无法引用 myClient.Type。如果我删除周围的 @{},那么我将在 HTML 中获得 c# 代码。

我知道一些简单的事情,但我看不到它。

非常感谢任何帮助。

编辑:表格关闭。

最佳答案

试试这个:

<table class="inner">
@{int i = 0;}

@foreach (var item in Model.Clients)
{
Int32 myId = Convert.ToInt32(item.DBID);
var myClient = db.Client.Where(c => c.Id == myId).First();


<tr><td>@string.Format("{0} {1} {2}",myClient.Title,myClient.Initials,myClient.LastName)
@if (myClient.Type!="Primary")
{
@Html.ActionLink("Delete", "Delete","ClientBackground", new { id=item.ID },null)
}

</td></tr>
}

</table>

我对格式做了很多猜测。重要的是,我把你的 int 赋值放到它自己的 block 中。我把开闭<tr>的和<td>来匹配并将它们放在可选的 @if blocks 之外.但是这个版本可以编译。

关于c# - Razor MVC 3 中变量的范围是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15949348/

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