Asp.net mvc 4 将C#razor转换为vb.net razor

Asp.net mvc 4 将C#razor转换为vb.net razor,asp.net-mvc-4,razor,Asp.net Mvc 4,Razor,我正在努力处理一些C#razor代码,我无法在vb.net上进行转换。你们有谁能帮我解决这个问题吗 这是代码: @{ var alerts = TempData.ContainsKey(Alert.TempDataKey) ? (List<Alert>)TempData[Alert.TempDataKey] : new List<Alert>(); if (alerts.Any())

我正在努力处理一些C#razor代码,我无法在vb.net上进行转换。你们有谁能帮我解决这个问题吗

这是代码:

@{
    var alerts = TempData.ContainsKey(Alert.TempDataKey)
                ? (List<Alert>)TempData[Alert.TempDataKey]
                : new List<Alert>();

    if (alerts.Any())
    {
        <hr/>
    }

    foreach (var alert in alerts)
    {
        var dismissableClass = alert.Dismissable ? "alert-dismissable" : null;
        <div class="alert alert-@alert.AlertStyle @dismissableClass">
            @if (alert.Dismissable)
            {
                <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
            }
            @Html.Raw(alert.Message)
        </div>
    }
}
@{
var alerts=TempData.ContainsKey(Alert.TempDataKey)
?(列表)TempData[Alert.TempDataKey]
:新列表();
if(alerts.Any())
{

} foreach(警报中的var警报) { var dismissableClass=alert.Dismissable?“alert Dismissable”:null; @如果(警告,可解雇) { &时代; } @Html.Raw(alert.Message) } }
编辑: 还是有问题,你能检查一下吗

@code

    Dim alerts = If(TempData.ContainsKey(Alert.TempDataKey), DirectCast(TempData(Alert.TempDataKey), List(Of Alert)), New List(Of Alert)())

       @If alerts.Any() Then
        @<hr />
        End If

        @For Each item In alerts

            Dim dismissableClass = If(alert.Dismissable, "alert-dismissable", Nothing)
        @<div class="alert alert-@alert.AlertStyle @dismissableClass">
            @If (alert.Dismissable) Then

                @<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
            End If
                @Html.Raw(alert.Message)
        </div>
        Next

end code
@code
Dim警报=如果(TempData.ContainsKey(Alert.TempDataKey)、DirectCast(TempData(Alert.TempDataKey)、列表(警报))、新列表(警报)()
@如果通知.Any(),则
@
如果结束 @对于警报中的每个项目 Dim dismissableClass=If(alert.Dismissable,“alert Dismissable”,无) @ @如果(警报。可解雇),则 @&时代; 如果结束 @Html.Raw(alert.Message) 下一个 结束代码
基本上,您必须将所有
if
语句转换为
if-EndIF

例如:

@If price>30 Then
    @<p>The price is too high.</p>
End If

replace @{ --- } with @code --- EndCode


and replace the expression as below converted

Dim alerts = If(TempData.ContainsKey(Alert.TempDataKey), DirectCast(TempData(Alert.TempDataKey), List(Of Alert)), New List(Of Alert)())

Dim dismissableClass = If(alert.Dismissable, "alert-dismissable", Nothing)

Html.Raw(alert.Message)
@如果价格>30,则
@ 价格太高了

如果结束 将@{--}替换为@code--EndCode 并替换表达式,如下所示 Dim警报=如果(TempData.ContainsKey(Alert.TempDataKey)、DirectCast(TempData(Alert.TempDataKey)、列表(警报))、新列表(警报)() Dim dismissableClass=If(alert.Dismissable,“alert Dismissable”,无) Html.Raw(alert.Message)
尝试查找联机代码转换器如果需要将
@
下的这一行更改为
End if
请再次查看我的编辑,现在我在这一行有两个问题:@对于警报中的每个项目(未声明项目)和Dim警报=如果(TempData.ContainsKey(Alert.TempDataKey)),DirectCast(TempData(Alert.TempDataKey),列表(关于警报)),新列表(关于警报)()-这里没有as的警报的变量声明…也不知道警报…为什么?我的解决方案中有这个类?@maxshuty你能检查一下我的主要帖子吗?仍然有一些错误,你能检查一下吗?@maxshuty你能看看我的评论吗:)