【问题标题】:Razor Inline Template Item Keyword in VBVB中的Razor内联模板项关键字
【发布时间】:2011-07-05 09:49:45
【问题描述】:

查看 Scott Guthrie 博客中的代码示例:http://weblogs.asp.net/blogs/scottgu/image_43366964.png

注意item是对C#中当前执行项的引用,VB.NET中的等效关键字是什么?

谢谢。

编辑:我应该在这里添加一个接受模板的方法的实际实现:

Public Function RenderInlineTemplate(ByVal template As Func(Of RazorSamplesWeb.Models.SamplesModel, Object)) As IHtmlString
    Return New HtmlString("<div style='display:inline;'>" + template(Model) + "</div>")
End Function

我得到这个错误:

编译器错误消息:BC30201: 预期的表达式。

来源错误:

第 101 行:第 102 行:函数与 模板:线 103:@RenderInlineTemplate(@@String.Concat(项目名称, " (", item.City, ", ", item.State, ")")) 第 104 行:第 105 行:

【问题讨论】:

    标签: asp.net asp.net-mvc vb.net asp.net-mvc-3 razor


    【解决方案1】:

    类似这样的:

    @Code
        Dim grid = New WebGrid(Model.Products)
    End Code
    
    @grid.GetHtml(
        columns := grid.Columns(
            grid.Column("Name", "Product", style := "product"),
            grid.Column("Description", format := Function(i)i.Description),
            grid.Column("Price", format := Function(i) String.Format("${0}", i.Price))
    
        )
    )
    

    【讨论】:

    • 是的,这可行,但您是说没有与 C# 相同级别的支持,因为 C# 不需要纯服务器端方法?在我看来,必须有某种方式......
    • @Brian,你在说什么服务器端方法?我不确定我是否理解您的问题。
    • 看看我附加的链接......你有格式,它混合了客户端和服务器内容,你有的是一个格式化的字符串。这是一个例子,我的实际情况与此类似,但是我不能只写出服务器端字符串,我需要这种客户端/服务器组合。
    【解决方案2】:

    我从未找到解决方法,因此它似乎尚不受支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-14
      • 1970-01-01
      • 1970-01-01
      • 2015-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-05
      相关资源
      最近更新 更多